Как открыть oracle forms из браузера

Обновлено: 06.07.2024

Oracle Forms - это программный продукт для создания экранов, взаимодействующих с базой данных Oracle . Он имеет IDE, включая навигатор объектов, страницу свойств и редактор кода, использующий PL / SQL . Первоначально он был разработан для работы на стороне сервера в терминальных сессиях в символьном режиме. Он был перенесен на другие платформы, включая Windows, для работы в среде клиент-сервер . Более поздние версии были перенесены на Java, где он работает в контейнере Java EE и может интегрироваться с Java и веб-сервисами .

Основное внимание Forms уделяется созданию систем ввода данных, которые обращаются к базе данных Oracle .

СОДЕРЖАНИЕ

Oracle Forms обращается к базе данных Oracle и создает экран, на котором представлены данные. Исходная форма (* .fmb) компилируется в специфичный для платформы «исполняемый файл» (* .fmx), который запускается (интерпретируется) модулем времени выполнения форм. Форма используется для просмотра и редактирования данных в приложениях, управляемых базами данных. На форму можно разместить различные элементы графического интерфейса, такие как кнопки, меню, полосы прокрутки и графику. Исходный код также может быть помещен в файлы библиотеки (* .pll), которые скомпилированы в исполняемые файлы библиотеки (* .plx), используемые во время выполнения.

Среда предоставляет встроенные режимы создания, запроса и обновления записей, каждый со своими собственными манипуляциями с данными по умолчанию. Это сводит к минимуму необходимость программирования общих и утомительных операций, таких как создание динамического SQL, обнаружение измененных полей и блокировка строк.

Как это обычно бывает с интерфейсами, управляемыми событиями , программное обеспечение реализует функции обработки событий, называемые триггерами, которые автоматически вызываются на критических этапах обработки записей, приема нажатий клавиатуры и движения мыши. Различные триггеры могут вызываться до, во время и после каждого критического шага.

Каждая функция триггера изначально представляет собой заглушку, содержащую действие по умолчанию или ничего. Поэтому программирование Oracle Forms обычно состоит из изменения содержимого этих триггеров, чтобы изменить поведение по умолчанию. Некоторые триггеры, если они предусмотрены программистом, заменяют действие по умолчанию, а другие дополняют его.

В результате этой стратегии можно создать ряд макетов форм по умолчанию, которые обладают полной функциональностью базы данных, но вообще не содержат кода, написанного программистом.

Oracle Forms продается и выпускается отдельно от Oracle Database . Однако основные выпуски базы данных Oracle обычно приводят к появлению новой основной версии Oracle Forms для поддержки новых функций в базе данных.

Oracle Forms начиналась как средство интерактивного приложения (IAF) , которое состояло из двух основных компонентов: компилятора (Interactive Application Generator - IAG) и интерпретатора времени выполнения (Interactive Application Processor - IAP). Выпущенная с Oracle Database версии 2, IAF предоставляет интерфейс в символьном режиме, позволяющий пользователям вводить и запрашивать данные из базы данных Oracle.

Он был переименован в FastForms с Oracle Database версии 4 и добавлен дополнительный инструмент , чтобы помочь сформировать в по умолчанию форму для редактирования с помощью IAG, редактора форм.

Он был в третий раз переименован в SQL * Forms версии 2 вместе с версией базы данных Oracle 5.

В Forms 2.0 не было редактора форм с экранным рисунком, поэтому формы поддерживались путем редактирования текстового файла * .INP.

Forms 2.3 была серьезным улучшением, поскольку в нее добавлен экранный редактор. Этот выпуск был основан на персонажах, а разработка и выполнение обычно осуществлялись в терминале. Исходный файл был * .INP ASCII файла и редактировать с помощью экрана художника, однако файл был файл ASCII и редактировать этот файл в текстовом редакторе был обычной практикой в связи с ограничениями редактора форм.

Эта версия Forms не включала язык PL / SQL, а вместо этого использовала свой собственный язык, основанный на шагах триггеров. Этот язык был более примитивным, чем язык PL / SQL, доступный в SQL * Plus. Ограниченный язык был дополнен выездами пользователя , который компилируется код языка связан с двоичным из Oracle предоставленного времени выполнения .

Формы 2.3 использовались в качестве основы для бухгалтерского пакета Oracle Financials. В результате 2.3 оставалась в использовании еще долго после того, как стали доступны формы 3 и 4, для поддержки клиентских форм, которые были созданы для интеграции с Oracle Financials.

Oracle Forms 3 был символьным и с использованием PL / SQL стал первой реальной версией Forms. Все последующие версии являются развитием этой версии. Он мог работать под X, но не поддерживал никаких специфичных для интерфейса X функций, таких как флажки . Исходный файл был файлом * .INP ASCII. IDE была значительно улучшена [ по словам кого? ] из 2.3, что резко уменьшило необходимость редактировать файл INP напрямую, хотя это все еще было обычной практикой. Forms 3 автоматически генерирует триггеры и код для поддержки некоторых ограничений базы данных . Ограничения могут быть определены, но не применяютсяв базе данных Oracle 6 в это время, поэтому Oracle использовала Forms 3, чтобы заявить о поддержке соблюдения ограничений. Существовала версия Forms 3 с графическим интерфейсом, которая могла работать в таких средах, как X Window, но не в Microsoft Windows. У него не было новых типов триггеров, что затрудняло привязку PL / SQL к событиям графического интерфейса пользователя, таким как движения мыши.

Oracle Forms версии 4.0 была первой «настоящей» версией продукта на основе графического интерфейса. Среда выполнения на основе символов по-прежнему была доступна для некоторых клиентов по запросу. Появление Microsoft Windows 3 вынудило Oracle выпустить эту версию Forms с графическим интерфейсом пользователя по коммерческим причинам. Forms 4.0 сопровождал Oracle версии 6 с поддержкой Microsoft Windows и X Window. Эта версия, как известно, содержала ошибки и представляла IDE , непопулярную среди разработчиков. [ согласно кому? ] Исходные файлы 4.0 стали двоичными и получили название * .FMB. Эта версия не использовалась программным пакетом Oracle Financials .

Oracle Forms версии 4.5 на самом деле был основным выпуском, а не « точечным выпуском » 4.0, несмотря на его номер версии «.5». Считается [ согласно кому? ] называться 4.5 для выполнения договорных обязательств по поддержке Формы 4 в течение определенного периода времени для определенных клиентов .

Эта версия содержала значительные функциональные изменения и совершенно новую IDE, заменяющую непопулярную IDE, появившуюся в 4.0. Он добавил триггеры на основе графического интерфейса пользователя и предоставил современную среду IDE с навигатором объектов, списками свойств и редактором кода .

Oracle Forms версии 5 сопровождал Oracle версии 7. В ней были реализованы специальные графические режимы, настроенные специально для каждой из основных систем, хотя ее внутренний программный интерфейс оставался системно-независимым.

Система именования и нумерации, применяемая к Oracle Forms, претерпела несколько изменений из-за маркетинговых факторов, не изменив сути продукта. В этот период была добавлена ​​возможность кодирования на Java, а также на PL / SQL.

Номер версии подскочил с 6 до 9, чтобы номер оставался таким же, как версия базы данных Oracle, выпущенная в то же время.

Forms 9i включала множество исправлений ошибок в 6i и была известна как хорошая стабильная версия. Была удалена поддержка клиент-серверной среды выполнения Windows, символьных интерфейсов, и вместо этого единственным вариантом развертывания стал трехуровневый пользовательский интерфейс на основе веб-браузера. Возможность импортировать классы Java означает, что он может действовать как клиент веб-службы .

Начиная с этого выпуска, номер версии Oracle Forms будет синхронизироваться с версией базы данных Oracle. В результате версия 8 пропущена, а номер версии подскочил до 9.

После этого выпуска в продукт было внесено очень мало изменений, кроме сохранения номера версии в синхронизации с базой данных Oracle.

Forms 10g - это на самом деле Forms версии 9.0.4, так что это просто Forms 9i с новым названием.

В Forms 11 добавлены некоторые новые функции [ какие? ] , полагаясь на Oracle AQ для взаимодействия с JMS .

Java Web Start позволяет пользователям запускать приложения Oracle Forms без родительского веб-браузера. Хотя для первоначального получения файла запуска приложения Java Web Start (.jnlp) может использоваться браузер, браузер не несет ответственности за размещение приложения и может быть закрыт после запуска приложения. JWS поддерживает Internet Explorer, Firefox ESR, Chrome, Edge.

ИмяВерсия(* 1) База данныхПерсонаж / графический интерфейсКомментарии
IAF 2ХарактерНет IDE
FastForms + IAG 4Характер
SQL * формы25ХарактерНовая IDE, без PL / SQL, пользовательские программы выхода, файл INP ASCII, файл времени выполнения FRM
SQL * формы2.35ХарактерУлучшения во время выполнения
SQL * формы36ХарактерСущественное переписывание, улучшенная IDE, PL / SQL в комплекте, поддержка X, создание кода для обеспечения соблюдения ограничений
Формы Oracle4.06-7GUI / ПерсонажОсновное переписывание, новая IDE, исходный двоичный файл FMB, среда выполнения FMX, оптимизированная для клиент-серверной работы. Новый интерфейс медленный, глючный и не пользуется популярностью у клиентов.
Формы Oracle4.57GUI / ПерсонажСущественная переработка, новая IDE на основе навигатора объектов и таблиц свойств. Хороший релиз, быстрый, популярный у клиентской базы. Oracle хотела, чтобы клиенты быстро обновили версию 4, потому что версия 4 содержала много ошибок, и Oracle заключила контракт на поддержку версии 4 в течение определенного периода времени для некоторых крупных и важных клиентов. Таким образом, Oracle назвала этот выпуск 4.5 (а не 5), что позволило Oracle заявить о постоянной поддержке v4. Это позволило некоторым клиентам, которые были привязаны к v4 на протяжении всего жизненного цикла своего проекта, перейти с v4 на v4.5, заявив, что это был выпуск исправления, хотя это явно был основной выпуск.
Формы Oracle57GUI / Персонаж
Формы Oracle68GUI / ПерсонажПредставлен сервер форм / веб-формы. Клиент-сервер по-прежнему доступен и используется большинством клиентов. Режим Forms Server медленный, содержит ошибки и использует много памяти за сеанс.
Формы Oracle6i8GUI / Персонаж
Формы Oracle9i (* 2)9iГрафический интерфейсСреда выполнения клиент-сервер удалена, оставив сервер форм (веб-интерфейс) в качестве единственного параметра времени выполнения. Основные изменения на уровне сервера, более эффективная связь между браузером пользователя и сервером.
Формы Oracle10 г10 гГрафический интерфейсЭто выпуск Forms 9 (9.0.4.0.19). Внешне переименован, чтобы указать на поддержку базы данных 10g. Меню-Справка-О программе отображает v9.0.4.0.19. Не поддерживает прямую совместимость с 10gr2 (не может открывать формы 10gr2 в 10g / 904)
Формы Oracle10gR210gR2Графический интерфейсверсия 10.1.2.0.2 - домашний ключ реестра перемещен. Максимальная длина NUMBER уменьшена с 40 до 38.
Формы Oracle11 г11 гГрафический интерфейсверсия 11.1.1.X Внешние события, JavaScript [1]
Формы Oracle11gR211gR2Графический интерфейсверсия 11.1.2.X Интеграция Oracle Access Manager, производительность и мониторинг, взаимодействие с реальным пользовательским интерфейсом [2]
Формы Oracle12c12cГрафический интерфейс

(* 1) Каждая версия Oracle Forms может подключаться к многочисленным версиям базы данных ORACLE и продается и выпускается отдельно от базы данных ORACLE. Oracle Forms, как правило, обеспечивает прямую и обратную совместимость с базой данных Oracle - например: Oracle Forms 9 может подключаться как минимум к Oracle 8, 9, 10 и 11. Перечисленные здесь версии базы данных являются первичной версией, которая была доступна во время Форма выпуска

(* 2) Продукты Oracle исторически следовали собственным соглашениям о нумерации выпусков и именах. Это изменилось с выпуском Oracle RDBMS 9i, когда Oracle Corporation начала стандартизировать Oracle Forms (а также отчеты и Developer) для использования того же основного номера версии, что и для базы данных. Этим объясняется скачок версий Oracle Forms с 6i на 9i (не было v7 или v8).

Oracle Designer - это инструмент CASE, продаваемый Oracle. Он мог создавать различные программные модули, включая Oracle Forms и Oracle Reports. (Последний выпуск Oracle Designer был в 2010 году - с тех пор он был прекращен и заменен более новыми продуктами разработки Oracle, такими как JDeveloper .)

В то время как Oracle предпочитает подход к новой разработке, основанный на Java Oracle Application Development Framework или Oracle Application Express , в заявлении о направлении инструментов разработки Oracle довольно четко выражена его приверженность продолжению поддержки Oracle Forms и продолжению ее развития и улучшения в следующих областях:

  • Сделать обновление в Интернете и до новых выпусков как можно более плавным
  • Разрешение приложениям форм и отчетов в полной мере использовать сервисы сервера приложений и взаимодействовать с приложениями Java EE .

Альтернативой Oracle Application Development Framework также является Oracle Application Express . Одним из преимуществ Oracle Application Express является то, что он более тесно связан с Forms, поскольку также сильно зависит от PL / SQL .

Все версии Forms, начиная с Forms 4.5 и заканчивая Forms 6i, могут запускаться в пользовательском интерфейсе (GUI). Для того чтобы запустить форму в GUI, выполните следующие действия:

  1. Запустите Oracle Forms командой f60desm или frmbld . После этого появится окно Form Builder ( рис. 3.4, в котором вы можете выбрать параметры запуска:
    • Use the Data Block Wizard (Создать форму с помощью мастера) – вам будет предложено создать форму с помощью мастера Data Block Wizard и Layout Wizard;
    • Build a new form manually (Создать форму вручную) – после выбора этого параметра запустится "чистая" среда, в которой не будет блоков данных, а только стандартный набор инструментов и модуль;
    • Open an existing form (Открыть существующую форму) – выбрать форму из списка существующих форм, после чего запустится выбранная вами форма;
    • Build a form based on template – запускает Designer с предложением открыть форму;
    • Run the Quick Tour (concepts) – запускает интернет-страницу (*.htm) с кратким обзором новых возможностей продукта Developer как в целом, так и отдельных его опций. При выборе этого пункта кроме страницы Интернет запустится Designer с опцией Build a new form manually ;
    • Explore the Cue Cards (tasks) – запускает Forms Designer, с такой же опцией, как в предыдущем случае; также в Designer сразу после запуска отобразится не только Object Navigator, но и окно справки Cue Cards, в котором вы можете найти справку о первичной работе в Forms (запуск форм, создание объектов).

Стартовое окно Form Builder

  • мастер блока данных ( Data Block Wizard );
  • мастер разметки ( Layout Wizard ).

Запуск формы в терминале и в GUI

Все ранние версии Forms до Forms 6i включительно поддерживают терминальный режим. Форма, запускаемая в терминальном режиме, имеет монохромный режим отображения. При выводе на экран терминала форма подавляет и не отображает те элементы, которые не поддерживаются терминалом, а именно: элементы псевдографики, OLE-контейнеры, ActiveX, Chart Item, Image Item, Bean Area. Также ранние версии не поддерживали некоторые события интерфейса, такие как передвижение и клик мыши.

Для того чтобы запустить форму, в командной строке выполните следующие действия:

  1. Откройте форму из предыдущего примера и сохраните ее как Form_Term. Скомпилируйте модуль.
  2. Запустите командную строку, например, SHELL, и выполните следующую команду:

Вы можете использовать в командной строке параметры настройки запуска, включая их в команду f60run .

Для запуска формы в командной строке достаточно выполнить команду:

Запуск формы в браузере

Вы можете избавиться от этой ошибки, если перед запуском формы запустите экземпляр OC4J . Запуск экземпляра OC4J производится командой DevSuiteHome_1\j2ee\DevSuite\startinst.bat .

Что такое OC4J , и почему без него невозможно запустить форму? OC4J ( Oracle Application Server Containers for J2EE ) – это компонент Oracle AS, который является основой поддержки Java-технологий в соответствии со спецификацией Java 2 Enterprise Edition. Контейнеры OC4J написаны полностью на Java и выполняются на виртуальной машине Java, входящей в состав JDK 1.2 или 1.3. OC4J – это полная поддержка J2EE , включающая транслятор JSP, механизм выполнения Java- сервлетов и контейнер Enterprise Java Beans (EJB).

HTTP Listener Error

Итак, для того чтобы запустить первую форму, выполните следующие действия:

  1. Запустите OC4J . После запуска OC4J у вас на экране появится Java Console ( рис. 3.6).
  2. Запустите Forms Builder и откройте форму Test.fmb.
  3. Вызовите диалог соединения для подключения к БД командой File | Connect или с помощью кнопки "Соединение" на панели инструментов.
  4. Запустите форму командой Run Form по щелчку кнопки на панели инструментов или командой меню Program | Run Form.

Java Console

После запуска формы на экране появится браузер, в который будет загружен апплет, отображающий форму. В Java Console сразу же после запуска формы появятся новые записи:

На рис. 3.7 кружочками показаны основные элементы, которые вы видите при отображении формы:

  1. браузер (Browser) ;
  2. Java applet ;
  3. консоль окна – строка состояния (Console);
  4. URL;
  5. панель инструментов меню (Menu Toolbar);
  6. меню по умолчанию (Default Menu);
  7. кнопка – графический элемент формы "Кнопка" (Item Button);
  8. окно (Window).

Форма Test.fmx

Важно: если при запуске формы в браузере появилась надпись "ORACLE FORMS", апплет не загрузился и браузер самостоятельно закрылся, то вам необходимо переставить Jiniator.

Закрытие браузера

После того как вы нажимаете кнопку EXIT_FORM на главной панели инструментов, форма закрывается, а браузер остается. Для того чтобы избавиться от этой проблемы, можно воспользоваться одним из самых распространенных способов, а именно создать файл *.html, который выполняет процедуру закрытия браузера. Выполните следующие действия:

На работе я взял на себя старую систему на базе Oracle. Первоначально предыдущий разработчик создавал формы и отчеты с использованием Oracle Forms и Reports 6. Мне каким-то образом удалось установить этот пакет на моем ПК с Windows 10. Я помню, что мог легко «запустить» форму напрямую для отладки / тестирования.

Мой компьютер недавно вышел из строя, и я сильно потерял данные, включая рабочую настройку для Oracle 6. Теперь я установил последнюю версию Oracle® Fusion Middleware 12c (12.2.1.3.0). После того, как я столкнулся со многими проблемами, мне наконец удалось правильно установить, настроить и запустить его. Теперь я легко могу открыть старые формы:

Form Builder

Но есть проблема: я больше не могу запускать форму для тестирования. Вместо этого он пытается подключиться к серверу, и я получаю эту ошибку:

Error

Я нашел этот URL-адрес в диалоговом окне настроек, и я не уверен, почему он пытается запустить форму Windows на сервере. Может ли версия 12 не тестировать такие формы, как раньше?

Settings

Что мне не хватает?

2 ответа

Forms 6i был клиент-серверным (хотя вы могли развернуть его в Интернете). Более поздние версии (начиная с 9i и после 6i) доступны только в Интернете.

Я не использую версию 12c, но я думаю , что вам необходимо установить сервер WebLogic для запуска этих форм.

Если бы вы могли «понизить», скажем, до версии 10g, вы бы запустили экземпляр OC4J, который позволяет запускать формы локально, без какого-либо сервера (это был IAS, сервер интернет-приложений в 10 г).

Или, если возможно, приобретите установочный компакт-диск 6i Developer Suite. Обратите внимание, что, поскольку это довольно старая программа, у вас могут возникнуть проблемы с ее запуском в Windows 10 (она никогда не поддерживалась и не была сертифицирована комбинация программного обеспечения Oracle и операционной системы). В таком случае я бы установил виртуальную машину, поставил на нее Windows XP, установил Forms 6i и наслаждалась.

Прежде всего, вы должны установить Weblogic Server. Запустился файл startWebLogic.cmd , установленный в таком C:\Oracle\Middleware\user_projects\domains\ClassicDomain\bin путь по умолчанию для систем windows .

Когда этот файл запускается, он запрашивает у вас username (по умолчанию weblogic , если не указано иное) и пароль (по умолчанию Welcome1 , если не указано иное).

Предлагается сохранить эту информацию в файле boot.properties по пути C:\Oracle\Middleware\user_projects\domains\ClassicDomain\servers\AdminServer\security , указав учетные данные в текстовом файле, как показано на рисунке ниже:

enter image description here

предоставление startWebLogic.cmd не запрашивать у пользователя username и password

После успешного выполнения startWebLogic.cmd файл boot.properties зашифровывается следующим образом:

enter image description here

Возвращаясь к нашему исходному выпуску,

Когда вы запускаете форму, нажимая Ctrl+R , вы получаете FRM-10142 из-за следующих двух случаев:

Интерактивное средство разработки Oracle Forms довольно давно представлен в продуктовой линейки Oracle (впервые он был задуман в конце 80х годов). Oracle Forms версии 4.5, 5, 6 и 6i был средством исключительно для разработки клиент-серверных приложений, но начиная с версии 9i, он предназначен только для разработки web приложений. Данные web-приложения представляют из себя Java апплет запускаемый в браузере, который обращается к Forms Server на котором и выполняется вся логика приложения.

Oracle Forms, как и Oracle Apex, является решением для быстрого создания приложений под web.

Цель данной статьи – привести пример создания формы ввода данных для таблицы соответствия валют. Таблицы соответствия часто применяются при загрузке данных в корпоративное хранилище данных (КХД) для обеспечения согласованность данных. Например, когда необходимо однозначное определение соответствия значений существующего в КХД аналитического измерения и значений справочника, извлекаемого из системы-источника данных. Данная статья направлена на специалистов, ранее не знакомых с Oracle Forms.

Создание таблицы соответствия в базе данных

Примем следующий состав полей таблицы соответствия валют измерения КХД и справочника системы источника данных:

Наименование столбца таблицыТип данныхКомментарий
CUR_KHDVARCHAR2(3)Код валюты, определенный в КХД
CUR_SRCVARCHAR2(10)Код валют, определенный в системе источнике данных
EFCT_DTDATEДата, с которой действует запись, определяющая соответствие двух кодов валют
END_DTDATEДата, до которой действует запись, определяющая соответствие двух кодов валют. Для активных записей принимает значение 01.01.2999
IS_ACT_INDNUMBER(1) default 1Признак действующей записи. 1 – запись действует. 0 – запись не действует
PPN_DTDATEДата добавления записи
UPD_DTDATEДата изменения записи
USR_LGNVARCHAR2(50)Логин пользователя добавившего/изменившего запись

Ниже представлен SQL скрипт создания таблицы в базе данных Oracle и наполнения её несколькими записями. Для создания таблицы скрипт следует запустить в SQLPlus.

Установка Oracle Forms

  1. Необходимо скачать Oracle Forms с официального сайта Oracle. В версии 10g он входит в состав Oracle Developer Suite, в версии 11g в состав - Oracle Fusion Middleware. Далее все примеры приведены для версии 10g.
  2. Распаковать архив(ы).
  3. Запустить установку (setup.exe)
  4. В ходе установки определить Oracle Home (можно оставить предлагаемый по умолчанию).
  5. На закладке выбора типа установки выбрать Complete.
  6. Далее следовать указанию мастера установки.
  7. После необходимо прописать нужную БД в файл tnsnames.ora (ORACLE_HOME\NETWORK\ADMIN\).

В результате установки у Вас на компьютере появится web-сервер и среда разработки Oracle Forms.

Создание приложения ввода данных в таблицу соответствия

Ниже приведен перечень шагов, необходимых для выполнения при создании формы ввода значений таблицы соответствия MP_CURRENCY.

1. Запустить локальный web-сервер OC4J.

2. Открыть приложение Oracle Forms Builder. Показать пример.

3. Подключиться к БД. Нажать Ctrl+J. Ввести логин, пароль и имя БД.

4. Сохранить форму. Имя присвоить MP_CURRENCY_v1. Показать пример.

5. Создать канву: установить курсор на элемент Canvases и нажать кнопку.

6. Присвоить (как переименовывание файлов в проводнике Windows) имя MP_CURRENCY окну, канве, форме.

7. Вызвать панель свойств окна (правой кнопкой мышки щелкнуть на наименовании окна (MP_CURRENCY), в появившемся меню выбрать "Property Palette". В свойстве окна Title указать название формы на русском языке - "ТАБЛИЦА СООТВЕТСТВИЯ ВАЛЮТ". В свойстве Width - 400, в свойстве Height - 250. Показать пример.

8. В свойстве Background Color канвы (Canvas) установить значение gray20. Показать пример.

9. Создать визуальный атрибут с именем VSL_ATR_YELLOW и назначить свойство цвета фона «yellow». Показать пример.

10. Вызвать мастер добавления блока данных. Нажать правой кнопкой мышки на элемент Data Block в окне Object Navigator, в появившемся меню выбрать Data Block Wizard. Показать пример.

11. Используя мастер добавление блоков данных, выбираем создание блока данных на основе таблицы или представления (Table or View). Далее в выбираем таблицу MP_CURRENCY, добавляем все её поля в блок данных и нажимаем кнопку "Готово". Показать пример.

12. Отредактировать следующие свойства блока данных MP_CURRENCY (панель свойств вызывается по нажатию кнопки F4):

Number of Records Displayed – указать количество строк, которое будет отображаться на форме (в нашем примере укажем 10).
Show Scroll Bar – указать Yes.
Scroll Bar Canvas - указать канву, на которой будет располагаться Scroll Bar (в нашем примере это MP_CURRENCY).

13. Для элементов блока данных, которые будут отображаться на форме и не подлежать редактированию пользователями (в нашем примере это UPD_DT, PPN_DT, SRC_USR_LGN), установить следующие значения:

Enable установить No;
Number of Items Displayed установить 1;
Canvas установить MP_CURRENCY;
Background Color установить white;
Bevel установить Plain;
Font Name установить Arial;
Font Size установить 10;
Prompt Font Name установить Arial;
Prompt Font Size установить 8;
Width установить в 54 для UPD_DT, PPN_DT и в 100 для SRC_USR_LGN.

14. Для всех элементов блока данных, которые будут отображаться на форме и в которых предметный эксперт будет вводить соответствия (в нашем примере это CUR_KHD и CUR_SRC), установить следующие значения для свойств:

Current Record Visual Attribute Group установить VSL_ATR_YELLOW;
Canvas установить MP_CURRENCY;
Background Color установить white;
Bevel установить Plain;
Font Name установить Arial;
Font Size установить 10;
Prompt Font Name установить Arial;
Prompt Font Size установить 8.

15. Для всех элементов блока данных, которые будут отображаться на форме и в которые предметный эксперт будет вводить данные о датах активации записи срока ее действия (в нашем примере это EFCT_DT и END_DT) установить следующие значения для свойств:

Current Record Visual Attribute Group установить VSL_ATR_YELLOW;
Canvas установить MP_CURRENCY;
Required установить в No;
Background Color установить white;
Bevel установить Plain;
Font Name установить Arial;
Font Size установить 10;
Prompt Font Name установить Arial;
Width установить 54;
Prompt Font Size установить 8.

16. Для элемента IS_ACT_IND (данный элемент устанавливает признак активной или не активной записи) установить следующие значения для свойств:

Item Type установить Check Box;
Value when Checked установить 1;
Value when Unchecked установить 0;
Initial Value установить 1;
Width установить 12;
Canvas установить MP_CURRENCY.

17. Для всех элементов типа дата (в нашем примере это EFCT_DT, END_DT, UPD_DT, PPN_DT) установить для свойства Format Mask следующее значение «DD.MM.YYYY».

18. Открыть канву (двойной клик левой кнопкой мышки) и разместить элементы на нем (путем перетягивания мышкой) так, как пользователю будет удобно работать с формой.

19. Подобрать размеры канвы и размеры окна (путем перетягивания их области мышкой).

20. Дать названия полям на русском языке (двойной клин на названии или свойство Prompt элемента). Показать пример.

21. Добавить триггер WHEN-NEW-FORM-INSTANCE (содержимое триггера будет выполняться при запуске формы): установить курсор на элемент Triggers, нажать правую кнопку мышки, в появившемся окне меню выбрать нужный триггер. В теле триггера написать следующий код:

22. Добавить триггер PRE-INSERT (содержимое триггера будет выполняться перед вставкой строк(и) в таблицу БД) на блок данных: установить курсор на элемент Triggers, нажать правую кнопку мышки, в появившемся окне меню выбрать нужный триггер. В теле триггера написать следующий код:

23. Добавить триггер PRE-UPDATE (содержимое триггера будет выполняться перед применением изменений в таблице БД) на блок данных: установить курсор на элемент Triggers, нажать правую кнопку мышки, в появившемся окне меню выбрать нужный триггер. В теле триггера написать следующий код:

24. Добавить триггер WHEN-CHECKBOX-CHANGED (содержимое триггера будет выполняться при нажатии/отжатии "галочки") на элемент IS_ACT_IND: установить курсор на элемент Triggers, нажать правую кнопку мышки, в появившемся окне меню выбрать нужный триггер. В теле триггера написать следующий код:

26. Сохранить форму: нажать комбинацию клавиш Ctrl+S.

27. Запустить форму для тестирования: нажать комбинацию клавиш Ctrl+R. Если Вы запускаете форму первый раз, то Вам будет предложено установить Oracle Java Initiator. Показать пример.

28. Используя кнопки панели управления, провести тестирование работоспособности формы на возможность ввода данных, изменения и удаления данных.

Введение в Oracle Forms

Данная глава представляет вам Oracle Forms и объясняет как запустить Designer Oracle Forms и подсоединиться к базе данных ORACLE. Она включает следующие темы:

· Об Oracle Forms 1 - 2

· Об объектах и свойствах 1 - 3

· О блоках и элементах 1 - 4

· О программировании, управляемом событиями 1 - 5

· Запуск Designer Oracle Forms 1 - 7

· Подсоединение к ORACLE 1 - 8

· Что делать вначале 1 - 9

Об Oracle Forms

Oracle Forms - это мощный инструмент разработки прикладных программ для создания прикладных программ баз данных клиент-сервер, переносимых на различные платформы с GUI и символьным режимами.

Oracle Forms - это часть Developer/2000, исчерпывающего набора инструментов, который поддерживает полный цикл разработки прикладных программ.

Прикладные программы, создаваемые с помощью Oracle Forms и других инструментов Developer/2000, полностью масштабируемы и подходят для развертывания на любом уровне вашего предприятия, от поддержки решений для малых рабочих групп до критичных к стилю проектов с интенсивными транзакциями, которые должны поддерживать сотни пользователей.

Oracle Forms и другие инструменты Developer/2000 оптимизированы так, чтобы иметь полное преимущество мощных свойств Oracle7 Server, ведущего управляющего сервера баз данных Oracle.

Компоненты Oracle Forms

При построении программ с помощью Oracle Forms вы используете три компоненты:

· Oracle Forms Designer

· Oracle Forms Generate

· Oracle Forms Runform

Designer - это среда для разработки прикладных программ, в которой вы работаете с тремя типами модулей Oracle Forms - формами, меню и библиотеками. Designer включает набор визуальных инструментов, позволяющих создавать объекты, устанавливать их свойства и писать программные модули для прикладных программ.

Компонента Generate используется для генерации файлов прикладных программ, чтобы создавать исполняемые файлы. Генерация модуля формы компилирует все ее программные объекты и создает исполняемый файл с расширением .FMX.

Компонента Runform - это двигатель, который операторы формы используют для выполнения законченной прикладной программы Oracle Forms.

Модули Oracle Forms

Прикладные программы Oracle Forms включают три типа модулей:

Формы - это совокупность объектов и программных модулей, включая окна, текстовые элементы, переключатели, кнопки, триггеры и процедуры. Форма может включать любое количество отдельных окон.

Меню - это совокупность объектов меню (главное меню, ниспадающее меню, элементы меню) и программа команд меню.

Библиотеки - это совокупность процедур PL/SQL, функций и пакетов, которые могут вызываться из других модулей.

Вы можете объединять модули форм, меню и библиотек таким образом, какой требуется для построения завершенной прикладной программы. Например, вы можете создать меню прикладной программы, определив модуль меню и подсоединив его затем к одной или более форм. Подобным образом вы можете подсоединять к другим модулям модули библиотек. Триггеры и процедуры, которые вы напишете в тех модулях, могут вызывать процедуры в подсоединенных библиотеках.

Прикладная программа Oracle Forms может также включать модули от других инструментов Developer/2000, таких как Oracle Reports и Oracle Graphics. Например, кнопка в форме может вызывать отчет, построенный с помощью Oracle Reports. Или в форму может быть вставлен вывод диаграммы, сгенерированной с помощью Oracle Graphics. Такой модульный подход предоставляет максимальную гибкость при проетировании и разработке новых прикладных программ, а также для поддержания и улучшения существующих.

Об объектах и свойствах

При построении прикладных программ с помощью Oracle Forms много сил во время разработки тратится на создание объектов и установку их свойств. Например, элемент текста имеет такие свойства, как Ширина, Высота, Тип Данных и Требуемость. Объект окна имеет такие свойства, как Заголовок, Модальность, Удалять при Выходе и т.д. Когда вы создаете объект, его свойства автоматически устанавливаются на значения по умолчанию.

Вы можете устанавливать свойства для управления не только тем, как будут выглядеть создаваемые объекты, но и их функциональностью. Такой подход к разработке прикладных программ содействует ускорению разработки и уменьшает необходимость в написании программ для выполнения таких стандартных операций, как:

· запрос, вставка, обновление и удаление записей

· координацию главных и подчиненных записей

· вывод объектов на экран

Многие свойства объектов можно устанавливать во время выполнения, а также во время проектирования.

О блоках и элементах

Во время создания интерфейса вашей прикладной программы вы работаете с двумя типами объектов Oracle Forms - блоками и элементами. Элементы - это такие объекты интерфейса, которые выводят на экран информацию для пользователей и позволяют им взаимодействовать с прикладной программой. Oracle Forms поддерживает множество элементов интерфейса, включая кнопки, переключатели, радио-группы, элементы списка, элементы неизменного текста, элементы изображения, OLE-контейнеры, элементы диаграмм Oracle Graphics и VBX Controls.

Каждый элемент принадлежит блоку. Блок - это логический контейнер для элементов. Он также является отдельным объектом с собственным набором свойств. Свойства блока определяют то, как конечные пользователи будут взаимодействовать с теми элементами, которые он содержит.

Блок может иметь прямую связь с таблицей или обзором базы данных. Это значит, что элементы текста, переключатели и другие элементы в блоке могут быть ассоциированы с определенными колонками в базовой таблице этого блока.По умолчанию это отношение позволяет операторам запрашивать, обновлять, вставлять и удалять записи в соответствующей таблице.

Блоки - это только логические группировки. Элементы в блоке формы могут выстраиваться в любом порядке и могут даже выводиться на экран в разных окнах. Форма может включать любое количество блоков и блок может включать любое количество элементов.

О программировании, управляемом событиями

Oracle Forms поддерживает модель программирования, управляемое событиями. Определив однажды основную структуру и функциональность прикладной программы путем создания объектов и установки их свойств, вы можете расширять и улучшать ее функциональность по умолчанию написанием программ.

Программы, которые вы пишете в Oracle Forms, пишутся на PL/SQL, процедурном языковом расширении Oracle для SQL, языке реляционных баз данных. PL/SQL объединяет возможности манипулирования данными и обработки транзакций с конструкциями, обычно встречающимися в процедурных языках программирования, такими как объявления переменных и констант, присвоения, циклы и условное ветвление. Язык PL/SQL описан в PL/SQL User’s Guide and Reference.

Oracle Forms включает интегрированную интерактивную среду отладки, позволяющую отслеживать и прерывать выполнение программы, совершать пошаговое движение, контролировать и устанавливать значения переменных.

О триггерах

Первый способ добавления в форму программы - посредством триггеров. Триггер - это блок программы PL/SQL, который вы подсоединяете к определенному объекту и который исполняется в ответ на определенное событие. Например, для создания командной кнопки вам нужно начертить на форме кнопку, затем подсоединить триггер When-Button-Pressed, который исполнит нужную командную программу. Как предполагает его название, триггер When-Button-Pressed исполняется, или срабатывает, всякий раз при нажатии этой кнопки.

Oracle Forms предоставляет большое множество событий, на которые вы можете реагировать с помощью триггеров. Вместе со стандартными интерфейсными событиями, такими как щелчок мыши в кнопке или на переключателе, Oracle Forms распространяется на множество событий внутренней обработки. Например, триггер When-Validate-Item срабатывает тогда, когда Oracle Forms проверяет достоверность значения в элементе текста. По умолчанию проверка достоверности происходит согласно хорошо определенному набору правил событий. Поняв однажды эти правила, то есть модель событий Oracle Forms, вы сможете писать триггеры для виртуального управления любым аспектом поведения вашей прикладной программы.

О встроенных подпрограммах

Для облегчения написания программ Oracle Forms включает свыше 150 встроенных процедур и функций, выполняющих множество стандартных функций прикладных программ, включая навигацию, обработку фиксирования и программного получения и установки свойств объектов.

В дополнение к встроенным подпрограммам Oracle Forms вы можете также писать собственные процедуры функции и пакеты с именами пользователя. Эти объекты, собирательно именуемые как программные модули, могут определяться в модулях форм, меню или библиотек. Определив однажды процедуру или функцию, вы можете вызывать ее в триггерах, командах элементов меню и других программных модулях.

О делении прикладных программ

PL/SQL - это язык, используемый как для прикладных программ Oracle Forms со стороны клиента, так и для триггеров и сохраненных процедур со стороны базы данных сервера, и двигатель PL/SQL имеется как в Oracle Forms Runform, так и в Oracle7 Server. Это означает, что вы можете иметь преимущества при разделении прикладной программы для исполнения или на клиенте, или на сервере. Деление прикладной программы позволяет оптимизировать работу и использование ресурсов путем сохранения и исполнения процедур локально или на сервере, в зависимости от того, что наиболее выгодно для вашей конкретной прикладной программы и конфигурации.

Когда вы работаете в Oracle Forms Designer, вы можете использовать интегрированные редакторы сохраненных процедур и триггеров базы данных для программирования логики на стороне сервера в то же время, когда вы разрабатываете свои прикладные программы для стороны клиента.

Чтобы еще более облегчить деление прикладных программ, Oracle Forms позволяет вам перетаскивать процедуры между вашей прикладной программой и сервером одной простой операцией мышью. С помощью деления перетаскиванием вы можете быстро перемещать процедуры между прикладной программой и сервером, не изменяя никаких программ в вашей прикладной программе.

Запуск Designer Oracle Forms

Примечание : Данный раздел предполагает, что в вашей системе база данных ORACLE и Oracle Forms инсталлированы. Процедуры инсталляции специфичны по платформам; для вашей системы обратитесь к документации Oracle Forms.

Для запуска Designer Oracle Forms:

1. Щелкните дважды на иконке Designer. Или в приглашении системы введите следующую команду:

f45des [module] [userid/password] [parameters]

Примечание: В Motif для исполняемого имени используйте f45des.

2. Если вы при запуске не укажете модуль, Oracle Forms автоматически открывает для вас новый модуль формы. чтобы открыть существующий модуль, выберите Файл->Открыть.

Когда вы запускаете Oracle Forms Designer из командной строки, вы можете указать следующие необязательные параметры командной строки в качестве пары ключевое_слово=значение. Не вводите пробелов до или после =.

Указывает название открываемого модуля. Если вы не укажете module_name, то Oracle Forms выводит диалог для файла, позволяющий выбрать модуль.

userid/password

Определяет действительную цепочку соединения для вхождения в ORACLE.

module_type

Определяет тип модуля (форма, меню или библиотека). Этот параметр требуется в случае, если модуль, обозначенный module_name, двусмысленный, так как имеются модули разных типов с одним и тем же именем.

module_access

Определяет местонахождение модуля, указанного module_name. Допустимыми значениями являются файл и база данных. По умолчанию это файл.

Определяет, что Oracle Forms Designer при запуске должен выводить экран помощи. Экран помощи дает список параметров командной строки и их значений по умолчанию.

Вы можете вводить специальные параметры module и userid, пользуясь или позиционным обозначением, или ключевыми словами. Использование позиционного обозначения позволяет вам избавиться от ключевых слов, но параметры должны вводиться в нужном порядке:

f45des [module] [userid] [optional parameters]

f45des accounts scott/tiger module_access=database

При обозначении ключевыми словами вы можете вводить параметры в любом порядке:

f45des module=acconts module_access=database userid=scott/tiger

Если вы открываете модуль в файловой системе, то расширение файла (.FMB, .MMB, .LIB) этого модуля необязательно:

f45des accounts.fmb scott/tiger

f45des accounts scott/tiger

Параметр идентификатора пользователя может указывать цепочку для вхождения в ORACLE:

f45des accounts scott/tiger:@:bigcorp:SALES

Если открываемый модуль находится не в том же директории, что исполняемый файл f45DES, то вы можете указать полный путь к этому модулю:

f45des c:\my_apps\accounts scott/tiger

Подсоединение к ORACLE

Вы можете запускать Oracle Forms Designer подсоединенным к базе данных ORACLE или отдельно. Многие операции проектирования, такие как редактирование таблиц базы данных или компиляция триггерных программ PL/SQL, требуют, чтобы Designer был подсоединен к ORACLE. Но другие процедуры, такие как работа над разметкой окна формы, могут выполняться без подсоединения к ORACLE.

Вы можете подсоединиться к ORACLE из командной строки при запуске Oracle Forms Designer или в любое время во время работы в Designer.

Для подсоединения к ORACLE в командной строке:

Введите допустимую цепочку соединения в командной строке при запуске Oracle Forms Designer:

f45des accounts scott/tiger:@:bigcorp:SALES

Если вы не указываете модуль, который должен загрузиться при запуске, то вы должны указать ключевое слово идентификатора пользователя:

f45des accounts scott/tiger:@:bigcorp:SALES

Для подсоединения к ORACLE из Designer:

Появляется окно Соединение.

Введите в соответствующих полях действительное имя пользователя, пароль и цепочку подсоединения к базе данных.

Если вы впервые запускаете Oracle Forms Designer, то вы увидите Объектный Навигатор.

Что делать вначале

Прежде чем вы начнете разработку своих прикладных программ, вы должны получить представление о встроенных возможностях Oracle Forms. Лучший способ получить обзор Oracle Forms - это прочесть Getting Started with Oracle Forms. Руководство Getting Started включает описание новых возможностей и учебник, охватывающий как Oracle Forms Runform, так и Oracle Forms Designer. Он усыпан примечаниями по Developer, объясняющими основные концепции Oracle Forms.

Об инсталляции

Вы можете инсталлировать Oracle Forms отдельно или с другими инструментами Developer/2000, такими как Oracle Reports и Oracle Graphics. Информацию об инсталляции Oracle Forms вы найдете в руководстве по инсталляции для вашей платформы.

Если вы планируете хранить модули своих прикладных программ в базе данных ORACLE, то вам или вашему администратору БД нужно создать необходимые таблицы в БД. Эти процедуры также рассматриваются в руководстве по инсталляции.

Обзор этапов построения формы

Основные этапы создания формы следующие:

1. Запустите Oracle Forms Designer и подсоединитесь к базе данных.

Насчет информации обратитесь к темам “Запуск Oracle Forms Designer” и “Подсоединение к ORACLE” в данной главе.

2. Для создания одного или более блоков с базовой таблицей, соответствующих основным таблицам в вашей прикладной программе, используйте окно New Block. Для вызова окна New Block выберите Tools->New Block.

Например, если вы строите прикладную программу ввода заказов, и в вашей базе данных есть таблица под названием ORDERS, то вы сможете создать блок с базовой таблицей для соответствия с таблицей ORDERS. Когда вы создаете блок с базовой таблицей, Oracle Forms создает также в базовой таблице элементы текста по умолчанию для каждой колонки.

Насчет информации обратитесь к “Созданию блока с базовой таблицей” в Главе 6 “Основы проектирования форм”.

3. Чтобы увидеть элементы в блоке с базовой таблицей, вызовите Редактор Разметки Layout Editor. Для вызова Layout Editor выберите Tools ->Layout Editor.

В Layout Editor вы можете выстраивать объекты, добавлять шаблонный текст и графику и, если требуется, создавать новые элементы. Насчет информации обратитесь к “Редактору Разметки” в Главе 2, Работе с инструментами Designer”, и Главе 6 “Основы проектирования форм”.

Читайте также:

[module name="footer"]