Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

СУБД Oracle для разработчиков. Forms and Reports 6i-10g


Здравствуйте уважаемые подписчики!
Это первый мой выпуск и поскольку он охватывает версии от Forms 6i до Forms 10g, то и начнем мы, соответсвенно с "Введение в Oracle Forms 6i".
 Обзор статьи: В данной статье вы узнаете о пакете Oracle Developer  его компонентах и возможностях, a также рассмотрим структуру и виды модулей Forms.
 
 Введение в Oracle Forms 6i
Определение, назначения и особенности приложения
Сергеенко С.В.
        
            Oracle Forms - это часть пакета Oracle Developer, который также включает в себя PL/SQL, Oracle Graphics, Oracle Reports, одним словом исчерпывающего набора инструментов, для создания полнофункционального прикладного программного обеспечения. Прикладная программа Oracle Forms может также включать данные модули от других инструментов Developer: Oracle Reports и Oracle Graphics. То есть в форме вы можете программировать вызов  отчета, по нажатию пункта меню или кнопки, построенный с помощью Oracle Reports. Или в форму может быть вставлен вывод диаграммы, сгенерированной с помощью Oracle Graphics. Такой модульный подход предоставляет максимальную гибкость при проектировании и разработке новых прикладных программ, а также для поддержания и улучшения существующих.
           Oracle Forms 6i (i – 'Internet computing model') – экранный построитель форм - это мощный инструмент разработки и создания прикладных программ баз данных клиент-сервер, переносимых на различные платформы с GUI и символьным режимами. Прикладные программы, создаваемые с помощью Oracle Forms и других инструментов Developer, полностью масштабируемы и подходят для развертывания на предприятии любого уровня, от больших до средних и малых. Предшественниками данной версии, являются версии: Forms 6.0, Forms 5.0, Forms 4.5, 4.0 и т.д. Oracle Forms и другие инструменты Developer оптимизированы так, что имеют и использует множество новых и мощных свойств Oracle 8, а также средства разработки приложений для ввода, доступа, изменения или удаления данных из БД Oracle в реальном масштабе времени. Oracle Forms 6i имеет множество инструментов и компонентов для создания эффективных приложений, которые позволяют оперативно, корректно и быстро работать с данными, а также выполнять команды не только DML,  но и DDL – языка определения данных (Create, COMMIT…), а также много других новых и важных  возможностей по сравнению с предыдущими версиями, такие как: интегрировать сформированные отчеты с офисными приложениями (MS Word); использовать мощные средства программирования, предоставляемые OLE-сервером приложений. Помимо выше сказанного формы (.fmx), а также отчеты можно запускать в браузерах. Учитывая возможность расширения инструментария пользователем, с помощью Forms можно создать практически любое требуемое окружение базы данных Oracle.
 
Структура Oracle Forms 6i
Компоненты  и  модули.

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

Компоненты
Forms 6i состоит из следующих компонентов:


∙         Oracle Forms Designer – это основная среда для разработки программ, в которой вы работаете с тремя типами модулей Oracle Forms - формами, меню и библиотеками, а также пользуетесь другими инструментами разработки (мастера, навигатор и т.д.). Designer включает набор визуальных инструментов, позволяющих создавать объекты, устанавливать их свойства и писать программные модули с помощью PL/SQL для прикладных программ.
∙         Oracle Forms Generate - используется для генерации файлов программ, чтобы создавать исполняемые файлы. Генерация модуля формы компилирует все ее программные объекты и создает исполняемый файл с расширением .FMX, MMX (меню)
∙         Oracle Forms Runform – используется для запуска (построения), уже скомпилированной прикладной программы Oracle Forms.


 В Oracle Forms вы можете работать с тремя типами модулей:
Библиотеки - совокупность процедур, функций и пакетов с именами пользователя, которые могут вызываться из других модулей прикладной программы.
Формы - совокупность объектов и подпрограмм. Примерами объектов, которые вы можете определять в модуле формы, могут быть окна, элементы текста (поля), переключатели, кнопки, сигналы, списки значений и блоки программ PL/SQL, называемые триггерами.
Меню - совокупность меню (объекта главного меню и любого количества объектов подменю) и команд элементов меню, которые вместе образуют меню прикладной программы.
 
Которые имеет, следующие расширения:
.FMB          Form Module Binary - Двоичный модуль формы
.FMT          Form Module Text - Текстовый модуль формы
.FMX          Form Module Executable - Исполняемый модуль формы
.MMB                  Menu Module Binary - Двоичный модуль меню
.MMT                  Menu Module Text - Текстовый модуль меню
.MMX                  Menu Module Executable - Исполняемый модуль меню
.PLL           PL/SQL Library Module Binary - Двоичный модуль библиотеки PL/SQL
.PLD           PL/SQL Library Module Text - Текстовый модуль библиотеки PL/SQL
.PLX PL/SQL Library Executable - Исполняемая библиотека PL/SQL (не содержит исходного текста
Если ваше приложение использует все выше перечисленные модули, то вы должны либо полнустью прописать пути к этим модулям на этапе разрабтке или положить все эти модули  .FMX, .MMX и .PLX в одну директорию, необходимые для развертывания во время выполнения.
 Перед тем как вы приступите к дальнейшему чтению, хотелось бы сразу скзать что Oracle Developer, как среда существует для каждой платформы  Linux, Windows, AIX, MacOS и т.д. Пользуясь, одним и тем же инсталлятором вы не установите Developer на разные платформы. Любые исполняемые модули не являются кросс-платформенными, тоесть .fmx, .mmx, .plx., а вот модули .fmb, .mmb, .pll – являются кроссплатформенными и будут открываться на любой платформе. Поэтому вы должны знать что для того чтобы запустить вашу форму, созданную, к примеру, в Windows на любой другой платформе вам нужно всего лишь перекомпилировать ваши модули и они будут нормально (хотя это я преувеличиваю) работать везде.  
 
Генерация модулей      


 По умолчанию в режиме GUI вам не требуется производить отдельных деййствий для генерации, достаточно просто запустить форму, поскольку по умолчанию в Designer выставлена опция, которая говорит о том что перед запуском формы нужно ее сгенирировать, если же данная опция отключена форма, соответсвенно, запустится из последнего сгенерированного .fmx
 Чтобы выполнить  генерацию формы из Designer:


∙          Форма, которую вы хотите компилировать, должна быть открыта в Designer. Если в Designer открыт более чем один модуль, то сделайте нужную форму текущим модулем, выбрав любой содержащийся в ней объект.
∙          Выберите File->Administration->Generate.

Если генерация успешна, то в статусной строке выводится сообщение “Module Generated Successfully”. Oracle Forms записывает файл .FMX в директорий по умолчанию, давая ему такое же имя, какое у формы в Designer. Однако, по моему опыту, если данное сообщение написано не факт что форма запуститься :)
Примечание: Не путайте Generate c Compile.
Чтобы сгенерировать форму автоматически при запуске ее из Designer
∙          Для вызова диалогового окна Options выберите Tools->Options.
∙          Установите предварительную установку Generate Before Run на On (установка по умолчанию).
∙          Сделайте в Designer форму, которую хотите запустить, активным модулем, затем выберите File->Run.
Oracle Forms безоговорочно генерирует и затем выполняет указанную форму.
Примечание: Запуск формы при предварительной установке Generate Before Run, установленной на On, не генерирует никаких меню или библиотек, подсоединенных к этой форме. Генерировать меню и библиотеки вы должны явно командой File-> Administration-> Generate. И, забегаю вперед, скажу что в многопользовательском режиме этот флажок лучше ставить в Off.
 
Генерация модулей меню


 Когда вы создаете модуль пользовательского меню, вы подсоединяете его к форме установкой свойства формы Menu Module. Потом, когда вы запустите форму, Oracle Forms автоматически загрузит подсоединенное меню.
Прежде чем вы сможете успешно запустить форму, имеющую подсоединенное меню, вы должны явно сгенерировать исполняемый фал меню .MMX из конструкторского модуля меню .ММВ.
Чтобы сгенерировать меню из Designer:
1.     Меню, которое вы хотите сгенерировать, должно быть открыто в Designer. Если в Designer открыто более одного модуля, то сделайте нужное меню текущим, выбрав любой объект, который оно содержит.
2.     Выберите File->Administration-> Generate.
Oracle Forms записывает файл .ММХ в директорий по умолчанию, давая ему то же имя, что и меню в Designer.
 
Компиляция библиотек


 В отличие от модулей форм и меню модули библиотек не должны явно генерироваться для создания отдельного исполняемого файла. Файл библиотеки .PLL, с которым вы работаете в Designer, включает как исходную программу, необходимую во время проектирования, так и скомпилированную исполняемую программу, необходимую во время выполнения. Использование версии библиотеки .PLL требуется в случае, если вы захотите использовать Runform Debugger для просмотра исходной программы за скомпилированными программными модулями.
Когда вы в Designer подсоединяете библиотеку к форме, меню или к другой библиотеке, вы подсоединяете версию .PLL этой библиотеки. Чтобы запустить прикладную программу из Designer, вам только нужно убедиться, что подпрограммы и пакеты в библиотеке скомпилированы.Чтобы в Designer скомпилировать библиотеку .PLL, выберите эту библиотеку в Навигаторе, затем выберите File->Compile All.
Чтобы скомпилировать файл библиотеки .PLL с помощью одной только компоненты Generate, используйте опции module_type и compile_all, как показано ниже:
f60gen mylib.pll scott/tiger module_type=library compile_all=yes
 Генерация библиотек для исполнения
 Когда вы будете готовы развернуть свою прикладную программу, вы можете сгенерировать файл библиотеки .PLX из файла библиотеки .PLL. Файл .PLX не включает компоненты исходной программы, являющейся частью файла .PLL. Вы можете сгенерировать файл .PLX из Designer или из командной строки.
Когда вы в Designer подсоединяете библиотеку к модулю, вы подсоединяете версию .PLL этой библиотеки. Во время исполнения Oracle Forms ищет по этому имени по путям поиска по умолчанию файл .PLX. Если файл .PLX отсутствует, то Oracle Forms ищет файл .PLL с этим именем.
Чтобы сгенерировать файл библиотеки .PLX из Designer:


1.     Библиотека, которую вы хотите сгенерировать, должна бать открыта в Designer. Если в Designer открыто более одного модуля, то сделайте нужную библиотеку текущим модулем, выбрав любой програмный модуль, который она содержит.
2.     Выберите File->Administration-> Generate.
Oracle Forms записывает файл .PLХ в директорий по умолчанию, давая ему то же имя, что и у библиотеки .PLL  в Designer.
Чтобы сгенерировать файл библиотеки .PLX из командной строки:
Вызовите компоненту Generate с опцией module_type:
f60gen mylib.pll scott/tiger module_type=library
Эта команда компилирует все программные модули, находящиеся в нескомпилированном состоянии. Она не перекомпилирует программные модули, успешно скомпилированные в Designer.
Список всех команд forms command line вы можете получить просто набрав в консоли f60run. Об этом я напишу в следующий раз.

Надеюсь вам понравяться мои статьи, а в свою очередь буду стараться делать ее более содержательной и интересной. Все вопросы и  комментарии прошу высылать мне по адресу sqames@mail.ru


В избранное