Опубликован: 25.09.2009 | Уровень: специалист | Доступ: свободно
Дополнительный материал 1:

Справочник встроенных подпрограмм и функций ORACLE FORMS DEVELOPER

< Лекция 14 || Дополнительный материал 1: 12345678
Ключевые слова: запрос, enter, Query Mode, OLE, сервер, имя объекта, создание функций, группа записей, элемент списка, значение, параметр, лист, текущая форма, имя группы, элемент данных, меню, BELLE, терминал, debug, mode, form, ПО, default, Menu, application, AND, processing function, input, FROM, end user, resume, processing, point, call, OBJ, item, NOT, check box, D-триггер, UNIQUE, первичный ключ, позиция курсора, сохранение изменений, оператор rollback, list item, list element, запись, многомодульное приложение, БД, оператор COMMIT, поле, синтаксис, PL/SQL, доступ, буфер, выходные данные, файл, группа, scope, объект, FETCH, таймер, millisecond, ITERATE, скалярная величина, Persistence, bound, variant, создание массива, базы данных, режим отладки, переменная, ключ, parameter list, идентификатор, визуальный атрибут, представление, курсор, built-up, triggering, association, hit, duplicate, FLD, элемент текста, NoWait, over-erasing, память, код ошибки, создание пользователя, функция, block, Canvas, column, списки значений, LOV, идентификатор таймера, тип данных, Timer, viewport, имя окна, failure, fatal error, DDL, DML, crosshair, compatible, expire, NLS, свойства информации, coordinate, delay, construction, кернинг, номер последовательности, nonblocking, уровень изоляции, serializability, handling, OLE2, uppercase, compression, DataType, e-money, justification, background color, font style, font weight, foreground color, uncheck, символьные типы, выходные параметры, индекс, MDI, minimize, системная переменная, help, эквивалентное свойство, выход, transaction, Rollback, откат, активный, список, restriction, exit, поиск, Oracle Forms, logout, тип сообщения, аргумент, предупреждающее сообщение, индикатор, дерево, операции, First, supply, two-pass, function, PARAMETER, пользователь, Bind, JFIF, PICT, RAS, TIFF, AIFF, wave, recalculation, menu security, opt, synchronize, asynchronicity, CASCADE, isolation, batch, текстовый редактор, вывод, сообщение об ошибке, Web

ABORT_QUERY - закрывает запрос, который был открыт в текущем блоке. Enter Query Mode yes

ACTIVATE_SERVER - активизирует OLE-сервер, ассоциированный с вашим OLE-контейнером.

Принимает один из параметров:

  • item_id специфицирует уникальный идентификатор, который Form Builder связывает с элементом при создании. Для нахождения идентификатора элемента пользуйтесь функцией FIND_ITEM. Тип данных - ID элемента.
  • item_name принимает значение - имя объекта, созданного на этапе проектирования, то есть в этом случае вам достаточно просто указать в качестве параметра имя элемента, для которого активизируется OLE-сервер. Тип данных параметра - VARCHAR2.
    Примечание: актуально только для Windows и Macintosh.

ADD_GROUP_COLUMN - добавляет колонку (столбец) к группе записей. Возвращает - GroupColumn.

Принимает следующие параметры, причем из двух параметров recordgroup_name и recordgroup_id вы выбираете один:

  • recordgroup_id - уникальный идентификатор, который Forms Builder связывает с группой записи при создании. Функция поиска идентификатора - FIND_RECORD_GROUP. Тип данных - ID группы записей.
  • recordgroup_name - имя группы записей. Тип данных - VARCHAR2.
  • column_type - специфицирует тип созданной колонки. Принимает следующие типы:
    • CHAR_COLUMN - колонка, принимающая тип данных VARCHAR2
    • DATE_COLUMN - колонка, принимающая тип данных DATE
    • LONG_COLUMN - колонка, принимающая тип данных LONG
    • NUMBER_COLUMN - колонка, принимающая тип данных NUMBER
  • column_width - этот параметр указывает на ширину столбца, является обязательным только в случае, если тип создаваемого вами столбца - CHAR_COLUMN, причем максимальный размер 2000.
    Примечание: неприменима к статическим группам записей.

ADD_GROUP_ROW - добавляет ячейку к существующей группе записей.

Принимает следующие параметры:

  • recordgroup_id - уникальный идентификатор, который Forms Builder связывает с группой записи при создании. Функция поиска идентификатора - FIND_RECORD_GROUP. Тип данных идентификатора - RECORDGROUP группы записей.
  • recordgroup_name - имя группы записей. Тип данных - VARCHAR2.
  • row_number - номер, под которым будет ячейка добавлена в группу записей. Если вы хотите добавить ячейку в конец группы, то вам достаточно воспользоваться константой END_OF_GROUP.

ADD_LIST_ELEMENT - добавляет новый элемент в элемент списка LISTITEM.

Принимает следующие параметры:

  • list_id - уникальный идентификатор, который Forms Builder связывает с элементом списка при создании. Функция поиска идентификатора - FIND_ITEM. Тип данных идентификатора - ITEM. list_name - имя элемента списка. Тип данных - VARCHAR2. list_index - специфицирует значение индекса элемента списка, то есть номер, под которым будет добавлен элемент в список элементов. Начинается с 1.
  • list_label - определяет то, как, точнее, под каким именем (меткой) будет отображаться элемент в списке элементов LISTITEM. Тип данных - VARCHAR2.
  • list_value - определяет значение, которое будет содержать элемент списка.

ADD_OLEARGS - определяет тип и значение аргумента, который будет передан методу OLE объекта.

  • Newvar - значение этого аргумента. Это типы : NUMBER, VARCHAR2 или OLEVAR, если это типы FORMS или PL/SQL-данных.
  • Vtype - тип аргумента, понимаемый OLE-методом.
    • Для типа NUMBER аргумент по умолчанию - VT_TYPE :=VT_R8.
    • Для типа VARCHAR2 аргумент по умолчанию - VT_TYPE :=VT_BSTR.
    • Для типа OLEVAR аргумент по умолчанию - VT_TYPE :=VT_VARIANT.

ADD_PARAMETER - добавляет параметр в лист параметров.

Принимает следующие параметры:

  • [list] or [name] - определяет список параметров (лист параметров), с которым будет ассоциирован данный параметр. Принимает либо идентификатор списка (тип PARAMLIST ) параметров, либо его имя (тип VARCHAR2 ).
  • Key - Имя параметра. Имеет тип VARCHAR2.
  • Paramtype - определяет один из двух типов параметров:
    • TEXT_PARAMETER A VARCHAR2 - строковый литерал.
    • DATA_PARAMETER A VARCHAR2 - принимает в качестве значения имя группы записей текущей формы. Тип данных также VARCHAR2.
  • Value - значение, которые вы собираетесь передавать в вызываемый модуль. Если это текстовый ( TEXT_PARAMETER ) параметр, то максимальная длина - 64K символа. Тип данных - VARCHAR2.

ADD_TREE_DATA - добавляет набор данных под соответствующий узел ( node ) элемента TREE VIEW.

Параметры:

  • Iitem_name - определяет имя элемента, в данном случае, в качестве имени нужно указать block_name. tree_name типа VARCHAR2.
  • Item_id - уникальный идентификатор, который Forms Builder связывает с элементом списка при создании. Используйте также FIND_ITEM для поиска данного идентификатора.
  • Node - специфицирует элемент дерева.
  • Offset_type - специфицирует тип сдвига вершины. Возможные значения:
    • PARENT_OFFSET - в этом случае добавляется так называемый "поднабор" данных под специфичным узлом, который размещен среди дочерних, идентифицируемых как сдвиги.
    • SIBLING_OFFSET - добавляет новые данные к специфичному узлу.
  • Offset - идентифицирует позицию нового узла.

    Если offset_type - PARENT_OFFSET, то сдвигом может быть каждый 1-n или LAST_CHILD.

    Если offset_type - SIBLING_OFFSET, то сдвигом может быть NEXT_NODE или PREVIOUS_NODE.

  • Data_source - определяет тип источника данных. Возможные значения:
    • RECORD_GROUP -указывает имя группы.
    • QUERY_TEXT - здесь имеется в виду текст запроса.

ADD_TREE_NODE - добавляет элемент данных в TREE VIEW.

Параметры:

  • Iitem_name - определяет имя элемента, в данном случае в качестве имени нужно указать block_name.tree_name типа VARCHAR2.
  • Item_id - уникальный идентификатор, который Forms Builder связывает с элементом списка при создании. Используйте также FIND_ITEM для поиска данного идентификатора.
  • Node - специфицирует элемент дерева
  • Offset_type - специфицирует тип сдвига вершины. Возможные значения:
    • PARENT_OFFSET - в этом случае добавляется так называемый "поднабор" данных под специфичным узлом, который размещен среди дочерних, идентифицируемых как сдвиги.
    • SIBLING_OFFSET - добавляет новые данные к специфичному узлу.
  • Offset - идентифицирует позицию нового узла.

    Если offset_type - PARENT_OFFSET, то сдвигом может быть каждый 1-n или LAST_CHILD.

    Если offset_type - SIBLING_OFFSET, то сдвигом может быть NEXT_NODE или PREVIOUS_NODE.

  • State - определяет состояние узла. Возможные значения:
    • COLLAPSED_NODE - все ветки свернуты.
    • EXPANDED_NODE - развернутые ветки.
    • LEAF_NODE - развернута только текущая ветка.
  • label - отображает текст узла.
  • icon - имя файла, содержащего иконку для отображения слева от элемента дерева.
  • Value - определяет значения узла.

APPLICATION_PARAMETER - отображает все параметры, соответствующие текущему меню, и их текущее значение.

BELL - заставляет терминал выдавать звуковой сигнал в моменты изменения внутреннего состояния формы.

BLOCK_MENU - выводит меню блока и принимает операторский ввод. Если оператор делает правильный выбор, BLOCK_MENU передает управление в соответствующий блок.

BREAK - если текущая форма запущена в режиме отладки, BREAK останавливает выполнение формы, и выводит меню Debug Mode Options, если ничего не делает.

CALL_FORM - запускает указанную форму, оставляя порождающую форму активной. Forms запускает вызываемую форму с теми же опциями SQL*Forms(Run Form), что и у порождающей формы. Когда вызываемая форма завершается - по функции EXIT или в результате неправильной передачи управления - обработка возвращается в порождающую форму в точку, откуда исходил вызов CALL. По умолчанию CALL использует параметры HIDE и NO_REPLACE. Параметр HIDE заставляет SQL*Forms стирать вызывающую форму с экрана перед рисованием вызываемой формы. Если вы используете параметр NO_HIDE, Forms не стирает вызывающую форму перед рисованием вызываемой формы. Это означает, что если вы вызываете форму с параметром NO_HIDE и некоторая страница вызываемой формы меньше области экрана, вызывающая форма выдается фоном. Параметр NO_REPLACE заставляет SQL*Forms поддерживать характеристику Default Menu Application вызывающей формы. Если вы используете параметр REPLACE, SQL*Forms заменяет характеристику Default Menu Application вызывающей формы на характеристику Default Menu Application вызываемой формы. Например: CALL ('Firm.Firm_ Name , HIDE , DO_REPLACE ).

CALL_INPUT - Accepts and processes function key input from the end user. When CALL_INPUT is terminated, Form Builder resumes processing from the point at which the call to CALL_INPUT occurred. (Перевод - Ред.) Используется лишь для совместимостями с прежними версиями. В новых приложениях желательно не использовать.

CALL_OLE - передает управление OLE-объекту. Принимаемые параметры:

  • obj - имя OLE объекта. Тип OLEOBJ.
  • Memberid - идентификатор метода запуска. Тип PLS_INTEGER.

    Возможные значения: FORM_OLE_FAILURE, LAST_OLE_EXCEPTION.

CALL_OLE_<returntype> - передает управление OLE-объекту, только в отличие от предыдущего случая здесь можно добавить возвращаемый тип:

FUNCTION CALL_OLE_CHAR (obj OLEOBJ, memberid PLS_INTEGER) RETURN returnval VARCHAR2;

...или...

FUNCTION CALL_OLE_NUM (obj OLEOBJ, memberid PLS_INTEGER) RETURN returnval NUMBER;

...или...

FUNCTION CALL_OLE_OBJ (obj OLEOBJ, memberid PLS_INTEGER) RETURN returnval OLEOBJ;

...или...

FUNCTION CALL_OLE_VAR (obj OLEOBJ, memberid PLS_INTEGER) RETURN returnval OLEVAR;

Принимаемые параметры:

  • obj - имя OLE объекта. Тип OLEOBJ.
  • Memberid - идентификатор метода запуска. Тип PLS_INTEGER. Возможные значения: FORM_OLE_FAILURE, LAST_OLE_EXCEPTION.

CANCEL_REPORT_OBJECT - отменяет долгую загрузку асинхронного отчета. Вы можете отменять загрузку отчета, используя REPORT_OBJECT_STATUS.

Параметры:

  • report_id - значение типа VARCHAR2, возвращаемое функцией RUN_REPORT_OBJECT, однозначно идентифицирует текущий запущенный отчет как на локали, так и на сервере.
    Примечание: вы не можете прервать загрузку отчета, если он у вас установлен в режим SYNCHRNOUS.

CHECKBOX_CHECKED - при обращении к этой функции возвращается значение типа BOOLEAN, которое показывает состояние, заданное CHECK BOX. Если элемент, указанный в функции CHECKBOX_CHEKED, не CHECKBOX, тогда Forms вернет ошибку: FRM-41038: Item <item_name> is not a check box.

Параметры:

  • item_id - уникальный идентификатор, который Forms Builder связывает с элементом при создании. Тип данных идентификатора - ITEM.
  • item_name - имя элемента, которое вы присвоили элементу на этапе проектирования. Тип данных - VARCHAR2.
    Примечание: предварительно проверяйте свойство элемента функцией GET_ITEM_PROPERTY.

CHECK_RECORD_UNIQUENESS - когда срабатывает триггер On-Check-Unique, инициализируется проверка по умолчанию уникальности первичного ключа записи.

CLEAR_BLOCK - очищает текущий блок. Если в этом блоке есть изменения, которые не были посланы на сохранение ( posted ) или сохранены ( commited ), то поведение CLEAR_BLOCK зависит от параметров, которые вы укажете:

  • нетпараметров - Forms предложит оператору сохранить изменения при работе с CLEAR_BLOCK.
  • ASK_COMMIT - Forms предложит оператору сохранить изменения при работе с CLEAR_BLOCK.
  • DO_COMMIT - Forms протестирует изменения, выполнит сохранение и очистит текущий блок без вопроса оператору.
  • NO_COMMIT - Forms протестирует изменения и очистит текущий блок без выполнения сохранения или вопроса оператору.
  • NO_VALIDATE - Forms очистит текущий блок без тестирования изменений и их сохранения или вопроса оператору.

CLEAR_EOL - очищает текущее значение поля с текущей позиции курсора до конца строки или поля.

CLEAR_FORM - отменяет все изменения, которые не были сохранены, когда текущая форма обрабатывалась во время текущей сессии SQL*Forms(Run Form). Если текущая форма вызывала другие формы, которые содержали посланные на сохранение изменения, CLEAR_FORM отвергает и эти изменения.

Примечание: если вы используете оператор ROLLBACK из PL/SQL в анонимном блоке или процедуре уровня формы, Forms интерпретирует его как упакованную процедуру CLEAR_FORM без параметров.

CLEAR_ITEM - очищает значение текстового элемента, устанавливая его в NULL.

CLEAR_LIST - очищает элемент списка (list item). После того как Form Builder отчистит элемент списка, он будет содержать один " null list element ".

Параметры (один из перечисленных):

  • list_id - уникальный идентификатор, который Forms Builder связывает с элементом списка при создании. Тип данных идентификатора - ITEM.
  • list_name - имя элемента, которое вы присвоили элементу списка на этапе проектирования. Тип данных - VARCHAR2.

CLEAR_MESSAGE - удаляет текущее сообщение с области экрана.

CLEAR_RECORD - очищает текущую запись в блоке. Если запрос открыт в этом блоке, то Forms вызывает запись для повторного заполнения блока.

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

Параметры:

  • form_name - специфицирует имя закрываемой формы. Тип данных - VARCHAR2.
  • form_id - уникальный идентификатор, привязываемый динамически форме при инициализации в режиме выполнения. Для поиска идентификатора используйте FIND_FORM с соответствующим типом. Тип данных идентификатора - FORMMODULE. Примечание: вы не можете закрывать вызывающую форму. Например, если Form_A вызывает Form_B, тогда Form_B не может закрыть Form_A.

CLOSE_SERVER - деактивирует OLE-сервер, привязанный к вашему OLE-контейнеру.

  • item_id - уникальный идентификатор, который Forms Builder связывает с элементом списка при создании.
  • item_name - имя элемента, которое вы присвоили элементу на этапе проектирования. Тип данных - VARCHAR2. Примечание: только для Windows и Macintosh.

COMMIT_FORM - обновляет данные в БД в соответствии с данными в форме. Forms вначале тестирует форму. Если есть изменения, которые нужно отразить в БД, то для каждого блока формы Forms посылает необходимые удаления, вставки и корректировки в БД и сохраняет обновленные данные формы в БД. Когда процедура COMMIT завершается, Forms освобождает все блокировки таблиц и строк, сделанные оператором. Если вы послали какие-нибудь данные на сохранение в БД во время текущей сессии Forms (Run Form), COMMIT_FORM сохраняет и эти данные в БД.

Примечание: если вы используете оператор COMMIT из PL/SQL в анонимном блоке или процедуре уровня формы, Forms интерпретирует его как упакованную процедуру COMMIT_FORM.
< Лекция 14 || Дополнительный материал 1: 12345678
Константин Лукин
Константин Лукин

ошибка: FRM47337  Tree node label can not be null

при выполнении скрипта

DECLARE
 Itree ITEM;
 top_node Ftree.Node;
 new_node Ftree.Node;
 i_value VARCHAR2(30);
BEGIN
 Itree := Find_Item('tree_block.tree_item ');
 new_node := Ftree.Add_Tree_Node(Itree, Ftree.ROOT_NODE,
   Ftree.PARENT_OFFSET, Ftree.LAST_CHILD,
   Ftree.EXPANDED_NODE, i_value, NULL, i_value);
END;

Юлия Малыгина
Юлия Малыгина
приведена функция скрытия URL отчета и ее применение, но применения так и нет
Жанбек Сарсенов
Жанбек Сарсенов
Россия, Москва, Московский Государственный Университет имени Ломоносова М.В., 2002