PL/SQL в Oracle Forms. Управляющие структуры. Глобальные переменные и параметры
Global Variable (глобальная переменная) - эта переменная среды Oracle Forms, значение которой доступно всему приложению . Глобальная переменная имеет символьный тип и может хранить до 255 символов. Переменная этого типа не объявляется, а инициализируется. Вы можете инициализировать глобальную переменную в любом месте программы, просто присвоив ей значение. Вы не можете инициализировать глобальную переменную в секции объявления переменных - DECLARE . Ниже приведен пример инициализации такой переменной.
где :global - обязательное ключевое слово для инициализации и обращения к переменной; variable_name - название переменной global .
В этом примере помимо обычного присвоения мы использовали процедуру DEFAULT_VALUE , которая инициализирует глобальную переменную global.my_name значением - "Сергей".
Глобальная переменная удаляется процедурой ERASE :
После удаления переменной также освобождается память.
В последних версиях Forms глобальные переменные поддерживаются, но не рекомендуются, так как они прежде всего расходуют существенное количество ресурсов. В качестве альтернативы глобальным переменным можно использовать небазовые элементы, размещенные на NULL -канве. Такие переменные, в отличие от глобальных, могут хранить различные типы данных ( DATE , NUMBER ) и позволяют контролировать размер с помощью свойства Maximum Length . Недостатком их использования является тот факт, что такая переменная доступна только в пределах одного модуля.
ПараметрыПараметры - это особый вид переменных Oracle Forms , использующийся для передачи значений между модулями и другими средствами разработки, например, Reports и Graphics . Параметры - это одна из самых лучших альтернатив глобальным переменным, так как они имеют относительно большую гибкость:
- Хранение и передача специфичных данных. Параметры могут хранить различные типы данных.
- Параметр не нужно объявлять или инициализировать, так как он создается как объект навигатора.
- Значение параметра может быть доступно другим модулям и компонентам пакета Developer ( Reports , Graphics ).
Параметры могут быть использованы для передачи данных в другие модули с помощью процедур:
- CALL_FORM ;
- OPEN_FORM ;
- NEW_FORM ;
- RUN_PRODUCT .
Параметры могут применяться для передачи данных в Reports с помощью процедур:
- RUN_PRODUCT - используется в версиях Oracle Forms 6i и ниже. Неприменимо к Oracle Forms 9i и выше.
- RUN_REPORT_OBJECT - используется в версиях Oracle Forms 9i и выше. Неприменимо к Oracle Forms 6i и ниже.
Далее мы рассмотрим примеры создания, обращения и передачи параметров .
Создание параметра
- В навигаторе объектов выберите узел "Параметры". Создайте параметр двойным щелчком мыши по узлу "Параметры" или выберите пункт меню Навигатор | Создать.
- Созданный параметр появится в одноименном узле. При создании параметру присваивается имя ПАРАМЕТР+ПОСЛЕДОВАТЕЛЬНЫЙ НОМЕР , например, ПАРАМЕТР1 . Запустите палитру свойств параметра (рис. 2.1).
Ранее мы уже рассматривали примеры обращения к параметрам в операторах PL/SQL , но повторим еще раз.
Обращение к параметрам в программах PL/SQLДля обращения к параметру используется обязательное ключевое слово : PARAMETER . Ниже приведен синтаксис определения параметра:
где PARAMETER - зарезервированное слово, использующее для обращения; Parameter_name - уникальное имя параметра в объектном навигаторе .
К параметрам, так же как и к элементам, допустимо косвенное обращение с помощью функции NAME_IN и COPY , как показано ниже:
При обращении к параметрам, как и в случае с глобальными переменными, опускается двоеточие перед ключевым словом, а сам параметр заключается в двойные кавычки.
Вы также можете обращаться к параметрам:
- В свойствах блока ORDER BY и WHERE CLAUSE .
Как уже было написано выше, параметры могут передаваться между модулями и приложениями с помощью списков параметров - Parameter List . Список параметров - это структура, которая подобно элементу списка хранит список имен параметров. В списке параметров вы можете определить два типа данных:
- Текстовый параметр - хранит и передает символьный набор данных.
- Параметр данных - хранит и передает в качестве ключа имя группы записей ( Record Group ).
Процедуры и функции для работы со списком параметров и параметрами приведены в табл. 2.1.
Таблица 2.1. Процедуры и функции для работы со списком параметров и параметрами. Метод Значение ADD PARAMETER Добавление параметра в список CREATE PARAMETER LIST Создание списка параметров DELETE PARAMETER Удаление параметра DESTROY PARAMETER LIST Удаления списка параметров GET PARAMETER ATTR Получение значения параметра GET PARAMETER LIST Получение значения списка параметров SET PARAMETER ATTR Установка значения атрибута параметраРассмотрим пример, в котором затронуты практически все вышеперечисленные функции и процедуры.