ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы.






                                Глава  22

  О г р а н и ч е н и я   ц е л о с т н о с т и


  В этой главе рассматриваются ограничения целостности, принятые в SQL*Forms.
    Представлены следующие темы:
       -   ограничения целостности для объекта
       -   ограничения целостности для курсора
       -   ограничения целостности для 16-битовой среды

  Замечания:  Ограничения   целостности   для   памяти индивидуальны для
  каждой машины и не рассматриваются в данном руководстве.  Чтобы  получить
  информацию по ограничениям  целостности  для  памяти,  обратитесь к
  инсталляции ORACLE и руководству пользователя.

  Ограничения целостности для объекта

  В данной  главе  представлены  ограничения целостности,
  применяемые  для  объектов  SQL*Forms  и  любых других
  элементов, относящихся к этим объектам.


  Элемент        Ограничени целостности/Замечания
  ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
  ссылок на      255 ссылок
  поле базы      Это  ограничение целостности относятся к
  данных         ссылкам числовых связей или определенных
  в форме        переменных на поля в операторе SQL.

  полей          255 полей
  в блоке        Это  ограничение  целостности  относятся
                 только к SQL*Forms (Проект) или SQL*Forms (Преобразования).

  контроль       8190 проверок
  границ         Это ограничение относится к числу полей
  в форме        в  форме,   для   которых   определяется допустимый
                 контроль   поля.

  ширина         255 символов
  поля           Это  ограничение относится к длине любого поля, кроме  полей
                 с типом  данных  LONG.  Длина  полей  LONG  должна быть не
                 более 65,536  символов.

  блоков         255 блоков
  в форме        Это  ограничение  целостности  относятся только к SQL*Forms
                 (Проект) или SQL*Forms (Преобразования).

  триггеров      4095 триггеров
  в форме

  шагов          8190 шагов триггера
  триггера
  в форме

  страниц        8190 страниц



                                   -- 224 --



  ширина         255 символов
  страниц

  ширина         255 символов
  глобальной
  переменной

  число          10922 строк
  строк в форме


  Ограничения целостности курсора

  Курсор базы данных - это память, присваимая ORACLE RDBMS SQL команде.  Он
  используется  в  SQL командах, которые являются неявными  по  отношению к
  передаче информации и запросу  данных и по отношению к SQL командам, которые
  являются  явными в триггерах.  SQL*Forms  контролирует присвоение  курсора
  для  всех неявных и явных SQL команд в триггерах V2.

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

  Элемент        Ограничения целостности/Замечания
  ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
  открытые       Величину параметра OPEN_CURSORS вы можете
  курсоры        найти в файле INT.ORA
  (максимум)

  открытые       - 5 в ORACLE
  курсоры        - 4  в блоке (1 для SELECT, 2 для UPDATE,
  (минимум)        1 для INSERT и 1 для DELETE).  Это  ограничение использует-
                   ся при обычных условиях, но можно изменить номер курсоров,
                   изменив  форму Set Options с помощью переключателей
                   командной строки.

                 - 1 или 0 в шаге триггера (1 для любого оператора SQL).
                   Это  ограничение   используется   при обычных  условиях,
                   но  можно изменить номер  курсоров,   изменив  форму  Set
                   Options   с   помощью   переключателей командной строки.

  Аналоги:       Характеристика  шага  триггера  New Cursor Area
                 o-переключатель, SQL*Forms (Текущая форма совместные курсоры
                 для неявной текущей опции SQL совместные курсоры для триггера
                 текущей опции SQL t-переключатель,и SQL*Forms (Текущая форма

  Ограничения целостности в 16-битовой среде

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

                                   -- 225 --




        Ч а с т ь 5   К О М П О Н Е Н Т Ы   И   П Р О Д У К Т Ы

        Глава  23              К о м п о н е н т ы


   В этой главе рассматриваются компоненты, составляющие SQL*Forms. Это
   следующие компоненты:
         - SQL*Forms (Преобразования)
         - SQL*Forms (Проектирование)
         - SQL*Forms (Генерирование)
         - SQL*Forms (Текущая форма)

   В  качестве  дизайнера,  вы  чаще  всего  используете SQL*Forms
   (Проектирование), из  которой вы  получаете доступ к другим  компонентам.
   Однако, иногда  бывает удобнее запускать другие компоненты прямо из
   командной строки.

   В этой главе также представлены признак автоматического входа ORACLE.
   признак дистанционного входа и командные переключатели SQL*Forms.
   Аналоги:       Форматы памяти форм

Автоматический вход

  Признак  автоматического  входа  позволяет  вам входить в продукты ORACLE
  без явного задания имени пользователя и  пароля.  Когда  вы  входите  таким
  образом,  ORACLE использует OPS$ ID, чтобы связать ваше имя пользователя в
  ORACLE с вашей операционной системой User ID.

  Вы можете использовать  признак  автоматического  входа со  всеми  SQL*Forms
  компонентами. Обратитесь к  ORACLE Database  Administrator's  Guide  за
  информацией  об использовании этого признака.

Дистанционный вход

  С   помощью   SQL*Net    вы   можете   специфицировать дистанционную  базу
  данных, входя  в любую  компоненту SQL*Forms. Когда вы используете признак
  дистанционного входа,   удаленная   база   данных   "прозрачна"   для вас -
  SQL*Forms  ведет  себя  сходным  образом,  когда обращается к узлу через
  периферию или обращается к базе данных вашей локальной машины.

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

  : node_name

     где:
  driver_name    Указывает  на  драйвер,  к  которому  вы хотите обратиться в
                 удаленной базе данных.  Установка  принятия значений по
                 умолчанию зависит  от  конкретной  системы.

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

  Например, вы  можете  определить  следующую  команду для выполнения формы
  ORDER_ENTRY в базе данных по умолчанию в узле LONDON:

  RUNFORM ORDER_ENTRY SCOTT/TIGER@D:LONDON

                                   -- 226 --



  Если  вы  хотите  определить удаленную  базу данных из входного экрана
  SQL*Forms, то необходимо поставить имя драйвера и имя узла после вашего
  имени пользователя.  (например, SCOTT@D:LONDON).

  За информацией по SQL*Net обратитесь к SQL*Net User's Guide.

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

SQL*Forms (Проектирование)

  SQL*Forms (Преобразования) создает INP файл из формы в формате базы данных
  или создает форму в  формате  базы данных из INP файла. После преобразований
  оба экземпляра формы существуют (несмотря на то, что вы специфицировали
  d-переключатель, уничтожающий форму в базе данных).

  Используйте   SQL*Forms   (Преобразования)   следующим образом:

   - Создайте  форму в  формате  базы  данных из INP файла, который был
     генерирован с с помощью другой версии SQL*Forms.

    - Создайте  INP  файл  из  формы  в формате базы данных.

    - Создайте INP файл в версии формата 3.0 из INP файла в версиях формата
      2.0 или 2.3.

  Аналоги:       Форматы памяти форм


INP в         Вы можете  создать форму в формате  базы данных из INP
преобра-      файла двумя способами:
зовании
базы данных           - Из командной строки, используя команду CONVERT,
            определяя i-переключатель, имя INP файла и имя формы.  Например,
            чтобы создать форму SAMPLE2 из  файла   SAMPLE1.INP,   введите
            следующую команду:

  CONVERT - 1 SAMPLE 1 SAMPLE 2 [username/password]

          - Из  SQL*Forms  (Проект),  выберите  опцию Load из меню Action и
            определите INP файл, который вы  хотите преобразовать  в
            диалоговом  блоке Load Form. затем сохраните форму в базе данных
            посредством опции Save в меню Action.


База данных   Вы можете создать INP файл из формы в формате базы
в преобра-    данных двумя способами:
зовании INP
  - Из   командной  строки,  используя  команду CONVERT, определяя имя INP
    файла и имя формы.  Например, чтобы создать файл SAMPLE3.INP из формы
    SAMPLE2, введите следующую команду:

     CONVERT SAMPLE3 SAMPLE2 [username/password]

  - Из SQL*Forms (Проект), выберите опцию Generate из меню Action и определите
    форму, которую вы хотите преобразовать в диалоговом блоке Generate Form.
    Помните,  что  зта  процедура также  создает  FRM  файл, который является
    первичным.

                                   -- 227 --



INP в INP     Вы можете создать INP файл в версии формата 3.0 из INP
преобра-      файла версии формата 2.0 или 2.3. Из командной строки,
зованиях      используя  команду CONVERT,  определяя v-переключатель и имя INP
              файла. Например, чтобы создать новую версию 3.0 INP файла из вер-
              сии 2.3 INP файла, называемого OLD.INP, введите следующую команду:

              CONVERT - v23 OLD [username/password]


Команды       Команда CONVERT вызывает SQL*Forms (Преобразования) из
преобра-      командной  строки.  Чтобы  использовать  эту  команду,
зований       введите в системном вопросе следующий оператор:

              CONVERT [option option...] inp_filename formname
              [username/password]

         где:
      option         Определяет любой переключатель командной строки, который
                     вы хотите активизировать для    данного    сеанса
                     SQL*Forms (Преобразования).
                     Для SQL*Forms (Преобразования) необходимо использовать
                     следующие   переключатели командной  строки:   -c,  -d,
                     -i,  -s  и -v-переключатели.

      inp_filename   Определяет имя для INP файла, который вы хотите создать
                     или преобразовать без суффикса .INP.


      formname       Определяет имя формы, которую вы хотите преобразовать или
                     создать.

      username/      Определяет выше имя пользователя в ORACLE
      password       и пароль.

      Если вы  не определили ваше имя пользователя и пароль в системном
      вопросе,  SQL*Forms  использует для автоматического входа OPS$ ID.  Если
      SQL*Forms не может найти OPS$ ID, то возникает сообщение об ошибке.

      Вы  можете  вводить  CONVERT ?  в  вопрос операционной системы, чтобы
      получить помощь.

      Аналоги:      Переключатели командной строки, SQL*Forms (Преобразования)


SQL*Forms (Проектирование)

  SQL*Forms (Проектирование) создает или модифицирует форму в базе данных.
  SQL*Forms (Проектирование) является основной компонентой
  SQL*Forms, которая может вызывать   остальные  три компоненты SQL*Forms.

  Аналоги:       Форматы памяти форм

Команда       Команда SQLFORMS вызывает SQL*Forms (Проектирование) из
SQLFORMS      командной   строки.  Чтобы  использовать  эту  команду,
              введите следующий оператор в системный вопрос:

   SQLFORMS [option option...] [formname] [username/ password]


                                   -- 228 --



         где:
   option         Определяет любой переключатель командной строки, который вы
                  хотите активизировать для    данного    сеанса     SQL*Forms
                  (Преобразования).

                  Для SQL*Forms (Преобразования) необходимо использовать
                  следующие   переключатели командной  строки: -c, -e, -i, -l,
                  r-, s- и -w-переключатели.

   formname       Определяет имя формы, которую вы хотите преобразовать или
                  создать.

   username/      Определяет выше имя пользователя в ORACLE
   password       и пароль.

   Если вы  не определили ваше имя пользователя и пароль в системном
   вопросе,    SQL*Forms    использует   для автоматического входа OPS$ ID.
   Если SQL*Forms не может найти OPS$ ID, то возникает сообщение об ошибке.

   Вы можете вводить CONVERT ?  в вопрос операционной системы, чтобы получить
   помощь.

   Аналоги:       Переключатели командной строки, SQL*Forms (Преобразования)


SQL*Forms (Генерирование)

  SQL*Forms (Генерирование) создает FRM файл. Она также может  создавать  или
  модифицировать  INP  файл,  в зависимости  от  того,  существует  ли  он
  уже и от определяемой вами опции командной строки:

  Вы можете создавать FRM файл двумя способами:

     - Из   командной   строки,  используя  команду GENERATE, определяя имя
       INP файла, который вы хотите преобразовать (для  создания еще рано,
       поскольку он еще не  существует).  Например, чтобы  создать FRM файл из
       файла  SAMPLE.INP, необходимо ввести следующую команду:

       GENERATE SAMPLE1 [username/password]

     - Из SQL*Forms  (Проектирование), выбрав  опцию GENERATE из меню Action и
       определив фINP файл в диалоговом  блоке  Generate Form.  Этот  INP файл
       может быть файлом, из которого вы хотите провести генерирование или
       файл, который вы хотите создать, если он еще не существует.

  Аналоги:       Форматы памяти форм


Команда       Команда GENERATE вызывает SQL*Forms (Генерирование) из
генериро-     командной  строки.  Чтобы  использовать  эту  команду,
вания         необходимо  ввести   следующий  оператор  в  системный вопрос:

              GENERATE [option option...] inp_filename [username/ password]

          где:
   option         Определяет любой переключатель командной строки, который вы
                  хотите активизировать для    данного    сеанса     SQL*Forms


                                   -- 229 --



                  (Преобразования).  Для SQL*Forms (Проектирование) необходимо
                  использовать    следующие   переключатели командной  строки:
                  -b,  -n,  -o,  -s  и -t-переключатели.

   inp_filename   Определяет имя для INP файла, который вы хотите создать или
                  преобразовать без cуффикса .INP.
   username/      Определяет ваше имя пользователя в ORACLE
   password       и  пароль.   Помните,   что   вы   должны определить имя
                  пользователя и  пароль в командной строке.

   Вы  можете  вводить  CONVERT ?  в  вопрос операционной системы, чтобы
   получить помощь.

   Аналоги:       Переключатели командной строки, SQL*Forms (Генерирование)


SQL*Forms (Текущая форма)

  SQL*Forms (Текущая форма) считывает FRM файл и выполняет
  форму. Эта  компонента применяется для проверки формы и
  операторов,   используемых  для  выполнения  прикладных
  программ.

  Вы можете выполнять форму двумя способами:

     - Из командной   строки,  используя  команду RUNFORM, определяя  имя
       формы,  которую  вы хотите выполнить. Например,  чтобы  выполнить форму
       SAMPLE.4  необходимо  ввести следующую команду:

       RUNFORM SAMPLE4 [username/password]

     - Из SQL*Forms  (Проектирование), выбрав  опцию EXECUTE из меню Action и
       определив имя формы, которую вы хотите выполнить в диалоговом блоке
       Execute Form.

  Аналоги:       Форматы памяти форм

Команда       Команда  RUNFORM  вызывает  SQL*Forms (Текущая форма)
RUNFORM       из командной строки. Чтобы  использовать  эту  команду,
вания         необходимо  ввести   следующий  оператор  в  системный вопрос:

              RUNFORM [option option...] inp_filename [username/ password]

              где:

   option         Определяет любой переключатель командной строки, который вы
                  хотите активизировать для    данного    сеанса     SQL*Forms
                  (Преобразования).
                  Необходимо     использовать    следующие переключатели
                  командной  строки: -a,-b, -c, -d, -e, -i, -l, -m, -n, -o,
                  -q, -r, -s, -t, и -w-переключатели.

   formname       Определяет  имя  для  формы,  которую  вы хотите выполнить.

   username/      Определяет выше имя пользователя в ORACLE
   password       и пароль.



                                   -- 230 --



   Если вы  не определили ваше имя пользователя и пароль в системном вопросе,
   SQL*Forms  использует для автоматического входа OPS$ ID.  Если SQL*Forms не
   может найти OPS$ ID, то вам предлагается ввести имя пользователя и пароль.

   Вы  можете  вводить  RUNFORM ?  в  вопрос  операционной системы, чтобы
   получить помощь.
   Аналоги:       Переключатели командной строки, SQL*Forms (Генерирование)

  Командные переключатели строк

  Переключатели  командных  строк - это опции,  которые используются  для
  выполнения  SQL*Forms  сеанса  из командной строки. Во всех переключателях
  используется следующий синтаксис:

  -switch_designator argument

  где:

  -switch_designator   Определяет, какой переключатель необходимо
                       использовать.  Учтите, что каждый переключатель имеет
                       уникальное назначение.

  argument             Определяет требуемый аргумент для конкретного
                       переключателя. Не все переклюяатели имеют аргументы.


Комбини-      Большинство  переключателей  могут  быть  использованы
рованные      в  комбинации  с  другими  переключателями.  Некоторые
переклю-      комбинации недопустимы и могут вызвать ошибку.
чатели
командной     Чтобы использовать несколько переключателей одновременно,
строки        необходимо определить их в любом порядке. Если вы хотите
              использовать  одновременно несколько переключателей, не требую-
              щих определения аргументов, вы можете синтаксически комбиниро-
              вать переключатели, используя знак "-" перед комбинацией и не
              оставлять пробелов между обозначениями переключателей.
              Например, комбинация -t и и -o-переключателей должна выглядеть
              следующим образом:  -to.

Переключатели для SQL*Forms (Преобразование)

   Ниже представлен список  переключателей командной строки для   SQL*Forms
   (Преобразование)  и  краткое  описание назначения  каждого переключателя.
   Более полное описание вы можете найти на последующих страницах.

   Переключатель      Описание
   ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
   -с                 Переводит графические признаки.
   -d                 Удаляет форму из базы  данных.
   -i                 Преобразует INP файл.
   -s                 Подавляет заголовок программы.
   -v                 Создает новый INP файл в формате версии 3.0.

   Аналоги:  команда CONVERT

-c переклю-   Переключатель  -c   переводит   графические   признаки,
чатель для    определенные в INP файле (создает приоритет для версии
SQL*Forms     2.3 в версии SQL*Forms) в символы в FRM файле, которые

                                   -- 231 --



(Преобра-     могут быть отображены целевым устройством.
зования)
              В  версии  3.0  SQL*Forms  вы  могли  бы употребить -с
              переключатель конъюнктивно только с -v переключателем во время
              преобразований INP файла.

              Синтаксис:   -c crt

              где crt - это  имя  файла определения  CRT, который вы
              собираетесь использовать в данном сеансе SQL*Forms.

              Замечание:  Oracle*Terminal   перемещает  CRT  утилиту
              в версии 3.0 SQL*Forms.

-d переклю-   Переключатель -d  удаляет  определенную  вами форму из
чатель для    базы данных. Когда  вы  используете  -d  переключатель,
SQL*Forms     SQL*Forms игнорирует все остальные переключатели.
(Преобра-
зования)      Синтаксис:   -d

-i переклю-   Переключатель   -i    определяет,     что    SQL*Forms
чатель для    (Преобразования)  преобразует  INP  файл  в формат базы
SQL*Forms     данных. Если вы  не  используете  -i  переключатель, то
(Преобра-     SQL*Forms  (Преобразование)  по  умолчанию  преобразует
зования)      форму в INP файл в формате базы данных.

              Синтаксис:   -i

-s переклю-   Переключатель  -s   подавляет   заголовок   программы
чатель для    и сообщения  Reading... и  Writing...
SQL*Forms
(Преобра-     Синтаксис:   -s
зования)

-v переклю-   Переключатель -v  создает INP файл в формате версии 3.0
чатель для    из INP файла старого формата.
SQL*Forms
(Преобра-     Синтаксис:   -v {version_number} inp_file_name
зования)
              где:
    version_number     Определяет номер  версии  INP файла, который  вы
                       хотите  преобразовать.  Если  вы  преобразовываете INP
                       файл, созданный   с   помощью   SQL*Forms версии  2.3,
                       то   вам   необходимо определить  23  для
                       version_number.  Если вы  преобразовываете  INP файл,
                       созданный по предыдущей (относительно версии 2.3)
                       версии, определите 20.

                       Замечание:  Между -v и номером версии нет пробелов
                       (например, -v23).

    inp_file_name      Определяет имя INP файла, который вы хотите
                       преобразовать   в   формате версии 3.0.

    Замечание:  Используйте  -s  переключатель  конъюнктивно с -v
    переключателем,  когда  вы  преобразуете INP файл, созданный  до   версии
    2.3  и  содержащий  графические признаки.


                                   -- 232 --



    Аналоги:  Формат INP файла

Переключатели для SQL*Forms (Проектирование)

  Ниже представлен список  переключателей командной строки для   SQL*Forms
  (Преобразование)  и  краткое  описание назначения  каждого переключателя.

  Переключатель      Описание
  ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
  -с                 Определяет названную карту.
  -e                 Создает ключевой файл сценария.
  -i                 Поглощает выходные данные на терминале.
  -l                 Ограничивает буфер возврата.
  -n                 Обход   входного   экрана  (т.е.  нет входа).
  -r                 Cчитывает ключевой сценарий файла.
  -s                 Подавляет статус строки.
  -w                 Поглощает выходные данные только в файле.


  Аналоги:   Команда SQLFORMS


-c перклю-    Переключатель -c определяет отображение (иначе, чем оно
чатель для    определено  по  умолчанию)  для  текущего  устройства и
SQL*Forms     продукта.
(Проекти-
рование)      Синтаксис:   -с mapping

              где mapping - это  имя  отображения, которое вы хотите
              использовать для данного сеанса SQL*Forms.
              Вы или DBA должны определить отображение  с Oracle*Terminal.

              Аналоги:   Oracle*Terminal


-e переклю-   Переключатель  -e  поглощает  в  файле  нажатие  клавиш,
чатель для    задействованных в сеансе SQL*Forms (Проектирование).
SQL*Forms
(Проекти-     Ключевой файл сценария включает в себя нажатие клавиш,
рование)      задействованных   в   управлении  внутри  интерфейса
              проектирования,  вызывает  функции и  выполняет  любую форму,
              задействованную в SQL*Forms (Проектирование)

              Синтаксис:  -e filename

         где: filename - это выходной файл или ключевой сценарий файла.

              Аналоги:  Ввод средств нажатия клавиш.


-i переклю-   Переключатель   -i  захватывает выходной  терминал  для
чатель для    данного сеанса  SQL*Forms.  Этот  переключатель   также
SQL*Forms     определяет, что SQL*Forms отображает выходной терминал
(Проекти-     на экран.
рование)
              Синтаксис:  -e filename

              где: filename - это выходной файл или ключевой сценарий файла.

                                   -- 233 --



              Аналоги:  Редактирование средств нажатия клавиш


-l переклю-   Переключатель -l ограничивает буфер возврата до хранения
чатель для    только  одной  операции  (самой последней). По умолчанию
SQL*Forms     этот  буфер   не   имеет  ограничений.  -l  перключатель
(Проекти-     особенно  удобен  для   систем,  которые   имеют  строго
рование)      лимитированную память.

              Если вы хотите  использовать этот  признак,  переместите
              Limit Indo Buffer в проективную опцию 1.

              Синтаксис:  -l


              Аналоги:  Limit Undo Bufer

-n переклю-   В  версиях  SQL*Forms,   предшествующих   версии  3.0,
чатель для    -n  переключатель   обходит  входной   экран  SQL*Forms
SQL*Forms     (Проектирование).    Это   свойство  позволяет   вам
(Проекти-     связываться  с  SQL*Forms  (Проектирование),  не  входя
рование)      в базу данных.  Когда вы вызываете SQL*Forms таким образом, то
              вы:
              - можете модифицировать, создавать и генерировать формы
              - выполнить форму во время сеанса, если вы имеете доступную базу
                данных
              - не можете сохранять изменения в базе данных
              - не  можете  использовать  любые  функции  базы данных, такие
                как создание блоков по умолчанию или список доступных форм

              Если вы определили комбинацию имя пользователя/пароль, то
              SQL*Forms игнорирует ее.
              Переключатель -n не действует в версии 3.0 SQL*Forms.
              Он функционирует только в случае совместимости снизу вверх.

              Синтаксис:   -n


-r переклю-   Переключатель -r позволяет вам считывать ключевой файл
чатель для    сценария, как входные данные SQL*Forms (Проектирование).
SQL*Forms     Ключевой файл сценария начинает, выполняет и завершает
(Проекти-     сеанс SQL*Forms (Проектирование).
рование)
              SQL*Forms выполняет все действия на  экране  терминала, несмотря
              на  то,  что вы  подавляете  вывод данных  на экран с помощью
              -w  переключателя.

    Синтаксис:   -r filename
               где  filename - это  входной  файл  или  ключевой файл сценария.

              Аналоги:  Редактирование средств нажатия клавиш


-s переклю-   Переключатель -s подавляет статус строки.
чатель для
SQL*Forms     Синтаксис:   -s
(Проектрование)


                                   -- 234 --



-w переклю-   Переключатель   -w  захватывает выходной  терминал  для
чатель для    данного сеанса  SQL*Forms.  Этот  переключатель   также
SQL*Forms     определяет,  что SQL*Forms отображает выходной терминал
(Проекти-     на экран.
рование)
              Синтаксис:  -r filename1 -w filename2

          где:
              filename1    Это вводный файл или ключевой файл сценария.

              filename2    Это выходной файл или дисплейный файл регистрации.

              Аналоги:  Редактирование средств нажатия клавиш   29-1

Переключатели для SQL*Forms (Генерирование)

   Ниже представлен список  переключателей командной строки для   SQL*Forms
   (Преобразование)  и  краткое  описание назначения  каждого переключателя.

   Переключатель      Описание
   ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
   -b                 Подавляет заголовок и сообщения.

   -n                 Обходит имя пользователя и пароль (т.е. без входа).

   -o                 Подавляет создание нового INP файла.  Этот переключатель
                      является устаревшим для версии 3.0 SQL*Forms.

   -s                 Подавляет диалоговые вопросы. Этот переключатель
                      является  устаревшим для версии 3.0 SQL*Forms.
   -t                 Подавляет заголовок и сообщения.

   Аналоги:   Команда GENERATE


-b переклю-   В  версии  3.0  SQL*Forms  -b  переключатель  подавляет
чатель для    заголовок и сообщения SQL*Forms (Генерирование).
SQL*Forms
(Генериро-    В  версии  SQL*Forms,  предшествующей   версии  3.0, -b
вание)        переключатель  вызывает  "пакетный режим"  для  сеанса SQL*Forms
              (Генерирование).  В пакетном режиме SQL*Forms (Преобразования)
              не   выдает   никаких   предложений и предупреждений, если
              наталкивается на ошибку. В других режимах   SQL*Forms
              (Генерирование)  выдает  сообщения об ошибках и останавливает
              выполнение операций. В версии 3.0   данная   функциональная
              зависимость   является устаревшей.

              Синтаксис:   -b


-n переклю-   Переключатель -n делает необязательным определение имени
чатель для    пользователя  и  пароля.  Это  свойство  позволяет  вам
SQL*Forms     связываться c SQL*Forms (Генерирование), не входя в базу
(Генериро-    данных. Когда вы вызываете SQL*Forms таким образом, вы
вание)        можете генерировать  любую  форму,  созданную с помощью версии
              SQL*Forms, предшествующей версии 3.0. Вы можете также
              генерировать  любую  форму,  созданную с  помощью версии  3.0
              SQL*Forms,  не  содержащей  ни  одного  из следующих пунктов:

                                   -- 235 --



                    - V триггеры, содержащие операторов SQL
                    - ccылки на объект последовательной нумерации
                    - блоки, поля, триггеры и процедуры форма-уровень,
                      на которые имеются ссылки
                    - блоки   со   веключенными   характеристиками Column Set

              Если вы определили комбинацию имя пользователя/пароль, то
              SQL*Forms игнорирует ее.

              Синтаксис:  -n


-o переклю-   В   версиях   SQL*Forms,  предшествующих  версии   3.0,
чатель для    переключатель -o не позволяет SQL*Forms создавать новый
SQL*Forms     INP файл для формы, когда она создает FRM файл.
(Генериро-
вание)        Переключатель -o не действует в версии 3.0 SQL*Forms.  Он
              функционирует только в случае совместимости снизу вверх.

              Синтаксис:  -o


-s переклю-   В   версиях   SQL*Forms,   предшествующих  версии   3.0,
чатель для    переключатель -s подавляет диалоговые вопросы из нового
SQL*Forms     INP файла, записывая  только ответы.  Это не  влияет на
(Генериро-    функциональность  INP  файла.  Однако,  это  существенно
вание)        уменьшает размер файла, что может быть полезным, если вы
              транспортируете файл в другую операционную систему.

              Переключатель -s не действует в версии 3.0 SQL*Forms.  Он
              функционирует только в случае совместимости снизу вверх.

              Синтаксис:  -s


-t переклю-   В  версии  3.0  SQL*Forms  -t  переключатель  подавляет
чатель для    заголовок и сообщения SQL*Forms (Генерирование).
SQL*Forms     В   версиях   SQL*Forms,   предшествующих  версии   3.0,
(Генериро-    переключатель -t  не позволяет SQL*Forms отобразить на
вание)        экране  диалог, с  помощью которого INP файл был создан.  В
              версии 3.0 данная функциональная зависимость является устаревшей.

              Синтаксис:  -t


Переключатели для SQL*Forms (Текущая форма)

              Ниже представлен список  переключателей командной строки для
              SQL*Forms  (Преобразование)  и  краткое  описание назначения
              каждого переключателя.

              Переключатель      Описание
              ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
              -a                 Подавляет выполнение массива.
              -b                 Устанавливает номер записи в буфере.
              -c                 Определяет карту имен.
              -d                 Активизирует режим отладки.
              -e                 Создает ключевой файл сценария.

                                   -- 236 --



              -i                 Захватывает выходной терминал.
              -l                 Блокирует автоматический вход.
              -m                 Отображает меню блока на вход.
              -o                 Объединяет курсоры для SQL триггера V2.
              -q                 Активизирует скрытый (quiet) режим.
              -r                 Cчитывает ключевой файл сценария как вводный.
              -s                 Отображает  установку номера курсора и
                                 разблокировывает     средства трассировки.
              -t                 Объединяет курсоры для неявнй SQL.
              -w                 Захватывает выходной терминал только в файле.

              Аналоги:  Команда RUNFORM

-a переклю-   Переключатель -a подавляет выполнение массива во время
чатель для    cеанса SQL*Forms (Текущая форма). Когда вы подавляете
SQL*Forms     выполнение  массива,  SQL*Forms  выбирает одну  запись
(Текущая      в ответ на запрос.
форма)
              Подавление  выполнения  массива обычно приводит к тому, что
              первая  выбранная запись отображается быстрее, чем если вы
              выберите  номер  записи  вместе  с  выполнением массива.  Однако
              общее  время, затрачиваемое на выборку и  отображение  записей
              при  выполнении массива - будет меньше.

              Если вы запускаете  форму из  SQL*Forms  (Текущая форма) хотите
              использовать    это   свойство,   активизируйте выполнение
              опции  Disable  Array  Processing.

              Синтаксис:  -a
              Аналоги:  выполнение опции Disable Array Processing 26-3


-b переклю-   Переключатель -b устанавливает  максимальное  количество
чатель для    буферированных  записей  в  памяти: число  отображенных
SQL*Forms     рядов плюс некоторая константа (для каждого блока). Эта
(Текущая      константа  равна  в  конечном  итоге  равна  3, но может
фрма)         зависеть от используемой вами операционной системы. Если блок
              выбирает  большее число  записей  по  запросу, то SQL*Forms
              буферирует  эти   дополнительные  записи  во временном (рабочем)
              файле диска.

              Если вы запускаете форму из  SQL*Forms  (Проектирование) вы
              хотите  использовать  это  свойство, активизируйте выполнение
              опции Buffer Record.

              Синтаксис:  -b

              Аналоги:   Выполнение опции Buffer Record       26-2
                         Характеристика блока Buffered Records 11-15

-с переклю-   Переключатель  -c  определяет  отображение  отличным от
чатель для    отбражения   по  умолчанию  для  текущего  устройства и
SQL*Forms     продукта образом.
(Текущая
форма)        Синтаксис:  -с mapping
              где
              mapping - это имя отображения, которое вы хотите использо-
                        вать для данного сеанса SQL*Forms.

                                   -- 237 --



              Замечание:  Вы или DBA должны определить отображение
                          с помощью Oracle*Terminal.

              Аналоги:  Oracle*Terminal


-d переклю-   Переключатель -d  активизирует режим отладки для сеанса
чатель для    SQL*Forms (Текущая форма). В режиме отладки отображаются
SQL*Forms     текущие  сообщения  о  выполнении  триггера  и о других
(Текущая      состояниях текущей формы во время выполнения  операции.
форма)        Режим отладки активизирует выполнение прерывания, если хотя бы в
              одном из  триггеров  присутствует  процедура BREAK.

              Если вы запускаете форму из SQL*Forms  (Проектирование) и  вы
              хотите  использовать это свойство, то  вы  должны активизировать
              выполнение опции Debug Mode.

              Cинтаксис:  -d
              Аналоги:  Cредства отладки
                        Выполнение опции Debug Mode

-e переклю-   Переключатель -e захватывает в ключевом файле сценария
чатель для    нажатие клавиш, работающих во время  сеанса  SQL*Forms
SQL*Forms     (Текущая форма). Ключевой файл сценария включает в себя
(Текущая      нажатие клавиш, задействованных  в  управлении  внутри
форма)        формы, активизируя функции и выполняя транзакции.

              Синтаксис:  -e filename

          где filename - это или выходной файл или ключевой файл сценария.
              Аналоги:  Редактирование средств нажатия клавиш


-i переклю-   Переключатель   -i  захватывает выходной  терминал  для
чатель для    данного сеанса  SQL*Forms.  Этот  переключатель   также
SQL*Forms     определяет, что SQL*Forms отображает выходной терминал
(Текущая      на экран.
форма)
              Синтаксис:  -e filename

              где: filename - это выходной файл или ключевой сценарий файла.

              Аналоги:  Редактирование средств нажатия клавиш


-l переклю-   Переключатель -l блокирует  автоматический вход ORACLE
чатель для    и убыстряет  отображение  на  входной  экран.  Когда вы
SQL*Forms     пользуетесь переключателем -l, вам не нужно определять
(Текущая      имя пользователя и пароль.
форма)
              Используйте -l переключатель, когда:
            - вы  хотите войти в SQL*Forms c именем, отличным от имени,
              установленного OPS$ ID
  и
            - вы  не  хотите  определять пароль  в  командной строке

              Синтаксис:  -l


                                   -- 238 --



              Аналоги:  Автоматический вход

-m переклю-   Переключатель -m заставляет SQL*Forms выдать меню блока
чатель для    на  экран  (после экранного входа),  вместо того, чтобы
SQL*Forms     выдать  страницу  формы.  Используйте это свойство для
(Текущая      комплексных  прикладных  программ,  имеющих  несколько
форма)        стартовых точек.

              Если вы запускаете  форму с  SQL*Forms  (Проектирование) и
              хотите   использовать  это  свойство,  активизируйте выполнение
              опции Display Block Menu.

              Аналоги:  Выполнение опции Display Block Menu   26-3
                        Block Menu                            11-13

-o переклю-   По умолчанию SQL*Forms  устанавливает  отдельный курсор
чатель для    базы данных для  каждого  оператора SQL,  который форма
SQL*Forms     выплняет   в   V2   триггере.  Такое   функционирование
(Текущая      улучшает процессирование, поскольку  операторы в каждом
форма)        курсоре должны быть  проанализированы  только при первом
              выполнении  сеанса  SQL*Forms (Текущая форма), а  не при
              каждом.

   Когда   вы   определяете  -o  переключатель,  SQL*Forms устанавливает  один
   курсор  для  всех  SQL  операторов в триггере  V2. Эти операторы либо
   совместно используют, либо многократно используют такой курсор, что
   сохраняет память, но замедляет процессирование, т.к. SQL операторы должны
   анализироваться при каждом выполнении.

   Вы  можете  еще  лучше  приспособить  для   вас   такое функционирование
   с   помощью    характеристики   шага триггера  New Cursor Area. Если шаг
   триггера, содержащий оператор   SQL,  имеет  включенную  характеристику,
   то SQL*Forms   присваивает  оператору отдельный курсор, что приводит  к
   тому,  что -o  переключатель  отвергается в данном операторе.

   Если вы запускаете форму с SQL*Forms (Проектирование) и  хотите использовать
   это свойство, включите выполнение опции Share Cursor for Trigger SQL.

   Замечание:Переключатель -o не оказывает влияния на операторы в триггерах V3.

   Синтаксис:   -o

   Аналоги:   Курсор, база данных                  22-3
              Характеристика  шага  триггера  New  Cursor Area
              Share Cursors для выполнения опции Trigger SQL
              -t  переключатель  для  SQL*Forms (Текущая форма)


-q переклю-   Переключатель -q активизирует медленный режим для сеанса
чатель для    SQL*Forms (Текущая форма). В медленном режиме cообщения
SQL*Forms     не выдают звуковых сигналов. Однако, вы можете получать
(Текущая      звуковые сигналы  из  триггера  при  пакетной  процедуре
форма)        BELL.

              Если вы запускаете  форму с  SQL*Forms  (Проектирование)
              и   хотите   использовать  это  свойство,  активизируйте
              выполнение опции Quiet Mode.


                                   -- 239 --



              Синтаксис:  -q
              Аналоги:   Выполнение опции Quiet Mode          26-3


-r переклю-   Переключатель -r позволяет вам считывать ключевой файл
чатель для    сценария, как входные данные SQL*Forms (Проектирование).
SQL*Forms     Ключевой файл сценария начинает, выполняет и завершает
(Проекти-     сеанс SQL*Forms (Проектирование).
рование)
              SQL*Forms выполняет все действия на  экране  терминала, несмотря
              на  то,  что вы  подавляете  вывод данных  на экран с помощью
              -w  переключателя.

              Синтаксис:   -r filename

              где  filename - это  входной  файл  или  ключевой файл сценария.

              Аналоги:  Редактирование средств нажатия клавиш   29-1


-s переклю-   Переключатель -s отображает  сообщение  в  конце сеанса
чатель для    SQL*Forms (Текущая форма), устанавливающее максимальное
SQL*Forms     количество одновременно открытых курсоров, которые были
(Текущая      использованы  во  время  сеанса.  SQL*Forms  пишет  эти
форма)        сообщения на экране терминала, а не в строке сообщений.

              Переключатель -s также выдает следующую команду в базу данных:

              ALTER SESSION SET SQL_TRACE TRUE

              Эта команда разблокировывает  средства  трассировки для текущего
              сеанса  SQL*Forms  (Текущая форма). Если  вам нужна дополнитель-
              ная информация  об  этих  средствах, обратитесь  к ORACLE RDBNS
              Performance Tuning Guide.
              Синтаксис:  -s

              Аналоги:  Выполнение опции Statistics.


-t переклю-   По умолчанию SQL*Forms  устанавливает  отдельный курсор
чатель для    базы данных для  каждого  оператора SQL,  который форма
SQL*Forms     выплняет неявно, как передачу или запрос данных. Такое
(Текущая      функционирование  улучшает  процессирование,  поскольку
форма)        операторы в каждом курсоре должны быть проанализированы
              только при первом выполнении сеанса  SQL*Forms (Текущая
              форма), а  не  при  каждом выполнении.

              Когда   вы   определяете  -t  переключатель,  SQL*Forms только
              устанавливает  отдельный  курсор   для  каждого запроса
              оператора SELECT. Эти операторы либо совместно используют,  либо
              многократно используют такой курсор, что сохраняет память, но
              замедляет процессирование, т.к.  операторы  INSERT,  UPDATE,
              DELETE и SELECT FOR UPDATE должны анализироваться при каждом
              выполнении.

              Если вы запускаете  форму с  SQL*Forms  (Проектирование) и
              хотите использовать это свойство, включите  выполнение Share
              Cursor для выполнения неявной опции SQL.

                                   -- 240 --



              Замечание:  Переключатель  -t  не  оказывает   никакого влияния,
              если вы заменяете стандартное процессирование SQL*Forms на
              On-Insert, On-Update, On-Delete триггеры, поскольку эти триггеры
              заменяют неявную выдачу операторов  INSERT, UPDATE и DELETE.

              Синтаксис:  -t

              Аналоги:   Курсор, база данных                  22-3
                         Share Cursors для выполнения опции Trigger SQL
                         -o  переключатель  для  SQL*Forms (Текущая форма)


-w переклю-   Переключатель   -w  захватывает выходной  терминал  для
чатель для    данного сеанса  SQL*Forms.  Этот  переключатель   также
SQL*Forms     определяет, что SQL*Forms отображает выходной терминал
(Проекти-     на экран.
рование)
              Синтаксис:  -r filename1 -w filename2
              где:
              filename1     Это вводный файл или ключевой файл сценария.

              filename2     Это выходной файл или дисплейный файл pегистрации.

              Аналоги:  Редактирование средств нажатия клавиш   29-1
        Глава 24              З а п о м и н а н и е  ф о р м

   В данной главе представлена информация о том, как SQL*Forms запоминает
   форму. В нее включены следующие темы:
      - форматы памяти форм
      - мобильность между системами
      - базовые таблицы SQL*Forms (Проектирование)
      - формат INP файла

 Форматы памяти форм

  SQL*Forms запоминает формы в трех форматах:
     - формат базы данных
     - FRM формат
     - INP формат

  Вы  можете  преобразовывать  форму  из  одного  формата в другой с помощью
  различных компонентов SQL*Forms.
  Аналоги:  Компоненты

Формат базы данных
   Форма в формате базы данных состоит из определения формы, помещенного в
   память в виде  различных  таблицы  в  базе данных  ORACLE.  Этот формат
   является  базовым форматом памяти для  форм.  SQL*Forms создает
   представление формы базы  данных ,  когда  вы  выполняете любое  из
   следующих действий:

      - сохраняете определение формы из SQL*Forms (Проектирование)
        посредством  опции  Save в  меню Action.

      - преобразуете INP файл из командной строки посредством команды CONVERT
        с -i переключателем командной строки



                                   -- 241 --



   SQL*Forms использует представление формы в формате базы данных, когда вы
   открываете форму, пользуясь командой CONVERT с -d переключателем командной
   строки.

   Замечание:  Версия SQL*Forms, предшествующая версии 1.0, не запоминает
              форму в базе данных, а использует INP формат в качестве базового.

   Аналоги:   Команда CONVERT                      23-4
              -d переключатель, SQL*Forms (Преобразование)
              -i переключатель, SQL*Forms (Преобразование)


FRM формат
   Форма  в  FRM  формате  состоит  из  определения  формы, помещенного в
   память в виде  двоичного файла. SQL*Forms создает FRM файл для формы, когда
   вы  генерируете форму из SQL*Forms (Проектирование) посредством опции
   Generate в меню Action или из командной строки, используя команду GENERATE.
   SQL*Forms использует FRM файл, когда оператор выполняет форму.

   Замечание:  Формат FRM файла не является переносимым между системами.

   Аналоги:   Команда GENERATE                     23-6


Базовые таблицы SQL*Forms (Проектирование)

   В  этом  разделе  представлены  таблицы  базы  данных, использованные в
   версии 3.0 SQL*Forms (Проектирование), сохраняющие данные о создаваемой и
   модифицируемой вами форме. Эти таблицы находятся во владении имени
   пользователя SYSTEM.
        - FORM_APP
        - FORM_BLK
        - FORM_COMMENT
        - FORM_FLD
        - FORM_MAP
        - FORM_PAGE
        - FORM_PROCEDURE
        - FORM_SQLTXT
        - FORM_TRG
        - FORM_TRIGGER
        - FORM_USER
   Информация  для вас дана в описаниях  таблиц. Вы можете записывать
   сообщения, основанные на этой информации или изменить содержание  таблиц  с
   помощью  SQL*Forms.  Не проводите никаких операций с этими таблицами
   посредством SQL*Plus.

   Замечание:  Корпорация Oracle  сохраняет за собой право изменять  названия
               или  структуру этих  таблиц в  любое время без предупреждения.


Таблица       Таблица FORM_APP содержит  информацию  по  идентификации
FORM_APP      формы. В  следующей  таблице  представлена  информация о
              столбцах таблицы.

              Столбец       Описание            Ноль        Тип
              ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
              APPOWNER      владелец формы      NOT NULL    CHAR(30)


                                   -- 242 --



              APPNAMER      имя формы           NOT NULL    CHAR(30)

              APPTITLE      заголовок формы                 CHAR(80)

              APPVAUNIT     проверочное                     CHAR(6)
                            устройство
              APPMOUSE      предел управления               CHAR(6)
                            мышью
              APPMNUAPL     прикладная программа            CHAR(30)
                            меню по умолчанию

              APPMNUNAM     старт имени меню                CHAR(30)

              APPMNUGRP     меню защиты имени               CHAR(30)
                            группы

Таблица       Таблица FORM_BLK содержит  информацию  по  идентификации
FORM_BLK      и характеристике блока. В следующей таблице представлена
              информация о столбцах таблицы.

              Столбец       Описание              Ноль        Тип
              ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
              BLKAPOWNER    владелец формы        NOT NULL    CHAR(30)
              BLKAPNAME     имя формы             NOT NULL    CHAR(30)
              BLKNAME       имя блока             NOT NULL    CHAR(30)
              BLKDESC       описание блока                  CHAR(60)
              BLKHD         если описание                   CHAR(1)
                            появляется в меню блока
              BLKSEQ        последовательный                NAMBER
                            номер блока
              BLKUNQKEY     если уникальные                 CHAR(1)
                            ключи необходимы для блока
              BLKCTRL       если блок имеет                 CHAR(1)
                            базовую таблицу
              BLKCOLSEC     если необходимы                 CHAR(1)
                            ограничения целостности базы данных
              BLKTOWNER     владелец таблицы                CHAR(30)
              BLKTNAME      имя таблицы                     CHAR(30)
              BLKNOREC      число отображаемых              NUMBER
                            строк
              BLKNOBUF      количество буферизуемых         NUMBER
                            записей
              BLKBLIN       базовая строка                  NUMBER
              BLKLNRC       число строк в записи            NUMBER
              BLKRSIZ       размер массива для блока        NAMBER
              BLKOBYSQL     указатель таблицы               NUMBER
                            FORM_SQLTXT
                            (SQLTNO столбец) для
                            запоминания по умолчанию
                            WHERE/ORDER BY фраза для блока


Таблица       Таблица FORM_COMMENT содержит комментарий  текста.

              Столбец       Описание              Ноль        Тип
              ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
              CMTAPOWNER    владелец формы        NOT NULL    CHAR(30)
              СMTAPNAME     имя формы             NOT NULL    CHAR(30)

                                   -- 243 --



              CMTPROC       имя процедуры                   CHAR(30)
              CMTBLK        блок                            CHAR(30)
              СMTFLD        поле                            CHAR(30)
              СMTTRGTYP     триггер                         CHAR(30)
              CMTTRGSEQ     шаг триггера                    NUMBER
              СMTLINE       номер строки                    NUMBER
              СMTTEXT       комментарий текста              CHAR(80)

Таблица       Таблица FORM_FLD содержит  информацию  по идентификации
FORM_FLD      и характеристике поля. В следующей таблице представлена
              информация о столбцах таблицы.

              Столбец       Описание              Ноль        Тип
              ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
              FLDAPOWNER    владелец формы        NOT NULL    CHAR(30)
              FLDAPNAME     имя формы             NOT NULL    CHAR(30)
              FLDBLK        блок, являющийся      NOT NULL    CHAR(30)
                            владельцем поля
              FLDNAME       имя поля              NOT NULL    CHAR(30)
              FLDSEQ        номер                           NUMBER
                            последовательности
              FLDTYPE       тип данных                      CHAR(8)
              FLDLEN        длина поля                      NUMBER
              FLDDLEN       длинка отображения              NUMBER
              FLDQLEN       длина запроса                   NUMBER
              FLDBTAB       если поле является              CHAR(1)
                            полем базовой таблицы
              FLDKEY        если поле является              СHAR(1)
                            полем первичного ключа
              FLDCKBLK      блок, с которого копируют       CHAR(30)
                            значение поля
              FLDCKFLD      поле, с которого копируют       CHAR(30)
                            значение поля

              FLDDFLT       величина по умолчанию             CHAR(80)
              FLDDISP       если поле отображается            CHAR(1)
              FLDPAGE       расположение страниц              NUMBER
              FLDLINE       расположение строк                NUMBER
              FLDCOL        расположение строк                NUMBER
              FLDPROMPT     предложение                       CHAR(80)
              FLDPRABOV     если предложение над              CHAR(1)
                            полем
              FLDPRRPT      если предложение за               CHAR(1)
                            полем
              FLDENTER      если в поле можно войти           CHAR(1)
              FLDQUERY      если поле можно запрашивать       CHAR(1)
              FLDUPDATE     если поле можно изменять          CHAR(1)
              FLDUPDNUL     если поле можно изменять          CHAR(1)
                            при NULL
              FLDMAND       если поле обязательно             CHAR(1)
              FLDFIXED      если поле имеет фиксированную     CHAR(1)
                            длину
              FLDSKIP       если поле имеет автоматический    CHAR(1)
                            пропуск
              FLDHIDE       если поле невидимо                CHAR(1)
              FLDAUTOHLP    если поле имеет автоматическую    CHAR(1)
                            подсказку
              FLDUPPER      если поле преобразует символы     CHAR(1)

                                   -- 244 --



                            в заглавные
              FLDOVTIT      заголовок для списка значений      CHAR(60)
              FLDLOVSQL     указание на таблицу FORM_SQLTXT    NUMBER
                            для запоминания списка значений
                            оператора SQL
              FLDLOVX       X координата для списка значений   NUMBER
              FLDLOVY       Y координата для списка значений   NUMBER
              FLDLOW        младшее значение                   CHAR(30)
              FLDHI         старшее значение                   CHAR(30)
              FLDVALPATN    проверочный образец                CHAR(80)
              FLDDISMASK    маска дисплея                     CHAR(80)
              FLDHELP       текст подсказки                   CHAR(80)
              FLDEDTX       X координата для редактора        NUMBER
                            файла
              FLDEDTY       Y координата для редактора        NUMBER
                            файла
              FLDEDITWRP    переход слова для редактора       CHAR(1)
                            файла

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

              Столбец       Описание              Ноль        Тип
              ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
              MAPAPOWNER    владелец формы        NOT NULL    CHAR(30)
              MAPAPNAME     имя формы             NOT NULL    CHAR(30)
              MAPPAGE       страница              NOT NULL    NUMBER
              MAPLINE       строка                            NUMBER
              MAPGRPH       если значения могут               CHAR(1)
                            быть интерпретированы как графические элементы
              MAPTEXT       постоянный текст                  CHAR(255)


Таблица       Таблица FORM_PAGE содержит  информацию о cтраницах и их
FORM_PAGE     характеристике.  В   следующей   таблице   представлена
              информация о столбцах таблицы.

              Столбец       Описание              Ноль        Тип
              ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
              PAGEAPOWNER   владелец формы        NOT NULL    CHAR(30)
              PAGEAPNAME    имя формы             NOT NULL    CHAR(30)
              PAGNUM        номер страницы        NOT NULL    NUMBER
              PAGTITLE      название страницы                 CHAR(255)
              PAGXSIZ       ширина страницы                   NUMBER
              PAGYSIZ       высота страницы                   NUMBER
              PAGVWXS       ширина представления              NUMBER
              PAGVWYS       высота представления              NUMBER
              PAGVWPXO      X координата положения            NUMBER
                            на странице
              PAGVWPYO      Y координата положения            NUMBER
                            на странице
              PAGGROPUP     если страница является            CHAR(1)
                            верхней страницей
              PAGBORDER     если представление имеет          CHAR(1)
                            границу
              PAGDISLV      если страница аннулируется        CHAR(1)


                                   -- 245 --



                            при входе
              PAGVSCRL      если представление имеет          CHAR(1)
                            код вертикальной прокрутки


Таблица       Таблица  FORM_PROCEDURE  содержит  информацию  о PL/SQL
FORM_PROCE-   процедуре. В следующей  таблице представлена информация
DURE          о столбцах таблицы.

              Столбец       Описание              Ноль        Тип
              ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
              PROCAPOWNER   владелец формы        NOT NULL    CHAR(30)
              PROCAPNAME    имя формы             NOT NULL    CHAR(30)
              PROCNAME      имя процедуры         NOT NULL    CHAR(30)
              PROCTEXT      указатель таблицы                 NUMBER
                            FORM_SQLTXT
                            (SQLTNO столбец) для запоминания текста процедуры

Таблица       Таблица  FORM_REFERENCE  содержит  информацию обо всех
FORM_REFE-    cсылках   на   объекты  SQL*Forms. В следующей  таблице
RENCE         представлена  информация  о  столбцах  таблицы.

              Столбец       Описание              Ноль        Тип
              ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
              REFAPOWNER    владелец формы        NOT NULL    CHAR(30)
              REFAPNAME     имя формы             NOT NULL    CHAR(30)
              REFBLK        блок, который                  CHAR(30)
                            делает ссылки
              REFFLD        поле, которое                  CHAR(30)
                            делает ссылки
              REFTGTYP      триггер, который               CHAR(30)
                            делает ссылки
              REFPROC       процедура, которую             CHAR(30)
                            делает ссылки
              REFFOWNER     владелец объекта,     NOT NULL    CHAR(30)
                            на который имеются ссылки
              REFFAPP       владелец формы,        NOT NULL    CHAR(30)
                            содержащей объект, на который имеются ссылки

              REFFBLK       блок, на который                  CHAR(30)
                            имеются ссылки
              REFFFLD       поле, на которое                  CHAR(30)
                            имеются ссылки
              REFFTGTYP     триггер, на который               CHAR(30)
                            имеются ссылки
              REFFPROC      процедура, на которую             CHAR(30)
                            имеются ссылки

Таблица       Таблица FORM_SQLTXT содержит текст всех операторов SQL
FORM_SQLTXT   cодержащихся в ваших формах, включая фразы WHERE/ORDER
              BY.  В  следующей  таблице  представлена  информация о
              столбцах  таблицы.

              Столбец       Описание              Ноль        Тип
              ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
              SQTAPOWNER    владелец формы        NOT NULL    CHAR(30)
              SQTAPNAME     имя формы             NOT NULL    CHAR(30)
              SQTNO         идентификационный     NOT NULL    NUMBER

                                   -- 246 --



                            номер для текста SQL
              SQTLINE       строка текста         NOT NULL    NUMBER
              SQTTEXT       SQL текст                         CHAR(80)


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

              Столбец       Описание              Ноль        Тип
              ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
              TRGEAPOWNER   владелец формы        NOT NULL    CHAR(30)
              TRGEAPNAME    имя формы             NOT NULL    CHAR(30)
              TRGBLK        блок, с которым                   CHAR(30)
                            ассоциирован триггер
              TRGFLD        поле, с которым                   CHAR(30)
                            ассоциирован триггер
              TRGTYPE       тип триггера          NOT NULL    CHAR(30)
              TRGSEQ        номер последовательности          NUMBER
              TRGLABEL      метка шага триггера               CHAR(30)
              TRGSQL        номер SQL текста, шаг             NUMBER
                            связанный (как описано в таблице FORM_SQLTXT)

              TRGCURS       если шаг триггера имеет           СHAR(1)
                            отдельный курсор
              TRGMVE        если триггер будет иметь          CHAR(1)
                            аварийное завершение при невыполнении шага

              TRGINV        если код возврата шага            CHAR(1)
                            триггера будет обратным
              TRGROLL       если триггер будет                CHAR(1)
                            обеспечивать возврат при аварийном завершении
                            триггера
              TRGLAB        ?????????                          CHAR(30)
              TRGFLAB        метка сбоя                        СHAR(30)
              TRGMSG         строка сообщения о сбое           CHAR(80)


Таблица       Таблица FORM_TRIGGER содержит информацию о расположении
FORM_TRGGER   и характеристиках  шагов  триггера. В следующей  таблице
              представлена  информация  о  столбцах  таблицы.

              Столбец       Описание              Ноль        Тип
              ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
              TRIGEAPOWNER   владелец формы        NOT NULL    CHAR(30)
              TRIGEAPNAME    имя формы             NOT NULL    CHAR(30)
              TRIGBLK        блок                              CHAR(30)
              TRIGFLD        поле                              CHAR(30)
              TRIGTYPE       тип триггера          NOT NULL    CHAR(30)
              TRIGDESC       описание                          CHAR(20)
              TRIGHIDE       если описание будет               CHAR(1)
                             включено в экран Show Keys (толькодля ключевых
                             триггеров)
             TRIGPLSQL       если триггер является             CHAR(1)
                             V3 триггером




                                   -- 247 --



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

              Столбец       Описание              Ноль        Тип
              ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
              USRAPOWNER    владелец формы        NOT NULL    CHAR(30)
              USRAPNAME     имя формы             NOT NULL    CHAR(30)
              USRUSER       разрешение            NOT NULL    CHAR(30)


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

  Замечание:  Редактирование INP файлов не разрешено Oracle Corporation.

  Cледующая  схема  функционирует  на  всех  уровнях,  от верхнего  до
  нижнего. Каждый  термин,  появляющийся в угловых     скобках     (например,
  ) определяется  на нижнем уровне схемы.

  copyright notice
  SQL*Forms_VERSION = forms_version
  

  где  имеет следующий синтаксис:

  DEFINE FORM
       application-level_comments
       NAME = form_name
       TITLE = form_title
       DEFAULT_MENY_APPLICATION = default_meny_application
       ROOT_MENU = starting_menu_name
       GROUP_NAME = menu_security_group_name
       MOUSE_NAVIGATORY_LIMIT = mouse navigation_limit
       VALIDATION_UNIT = {-1nothing-0 і FIELD і RECORD і
       і BLOCK і FORM )
       for each procedure in form
               
       for each form-level trigger in form
               
       for each block in form
               
       
  ENDDEFINE FORM

  где  имеет следующий синтаксис:

   і
  

  где  имеет следующий синтаксис:




                                   -- 248 --



  DEFINE PROCEDURE
         procedure-level_comments
         NAME = procedure_name
         DEFINITION = procedure_text
  ENDDEFINE PROCEDURE

  где  имеет следующий синтаксис:

  DEFINE PROCEDURE
         NAME = procedure_name
         
  ENDDEFINE PROCEDURE

  где  имеет следующий синтаксис:

   і
  

  где non-referenced_trigger_definition> имеет следующий синтаксис:

  DEFINE TRIGGER
         trigger-level_comments
         NAME = trigger_name
         TRIGGER_TYPE = V2
         SHOW_KEY = {ON і OFF}
         DESCRIPTION = trigger_description
         for each step in trigger
               
  ENDDEFINE TRIGGER

  где  имеет следующий синтаксис:

  DEFINE STEP
         step-level_comments
         LABEL = step_label
         TEXT = step_text
         SUCCESS_STEP = success_label
         FAILURE_STEP = failure_label
         FAIL_MESSAGE = failure_message
         ABORT = {ON і OFF}
         REVERSE = {ON і OFF}
         NEW_CURSOR = {ON і OFF}
         IGNORE = {ON і OFF}
  ENDDEFINE

  где  имеет следующий синтаксис:

  DEFINE TRIGGER
         trigger-level_comments
         NAME = trigger_name
         TRIGGER_TYPE = V3
         SHOW_KEY = {ON і OFF}
         DESCRIPTION =trigger_description
         TEXT = V3_style_trigger_text
  ENDDEFINE TRIGGER

  где  имеет следующий синтаксис:


                                   -- 249 --



  DEFINE TRIGGER
         NAME = trigger_name
         
  ENDDEFINE TRIGGER

  где  имеет следующий синтаксис:

   і
  

  где  имеет следующий синтаксис:

  DEFINE BLOCK
         block-level_comments
         NAME = block_name
         DESCRIPTION = block_description
         TABLE = user.base_table
         UNIQUE_KEY = {ON і OFF}
         UPDATE_KEY = {ON і OFF}
         IN_MENU = {ON і OFF}
         ROWS_DISPLAYED = num_rows_displayed
         ROWS_BUFFERED  = num_rows_buffered
         BASE_LINE = base_line
         LINES_PER_ROW = num_lines_per_row
         ARRAY_SIZE = array_size
         COLUMN_SECURITY = {ON і OFF}
         ORDERING = default_where_orderby_clause
         for each block-level trigger in block
                 
         for each field in block
                 
  ENDDEFINE BLOCK

  где  имеет следующий синтаксис:

   і
  

  где  имеет следующий
  синтаксис:

  DEFINE FIELD
         field-level_comments
         NAME = field_name
         DATATYPE = data_type
         LENGTH = field_length
         DISPLAY_LENGTH = display_length
         QUERY_LENGTH = quey_length
         BASE_TABLE = {ON і OFF}
         PRIMARY_KEY = {ON і OFF}
         MANDATORY = {ON і OFF}
         DISPLAYED  =  {ON і OFF}
         PAGE = page_number
         LINE = line_number
         COLUMN = column_number
         HELP = help_message
         LOW_VALUE = field_range_low_value
         HIGH_VALUE = field_range_high_value

                                   -- 250 --



         LOV_TEXT = list_of_values_select_statement і
                  [user}.table.column
         LOV_TITLE = list_of_values_title
         LOV_X = x coord_for_lov
         LOV_Y = y coord_for_lov
         INPUT_MASK = input_mask
         OUTPUT_MASK = output_mask
         EDIT_X = location_x_coordinate
         EDIT_Y = location_y_coordinate
         EDIT_WORD_WRAP = {ON і OFF}
         DEFAULT = default_value
         ENFORCE_KEY_FORM =
         = source_block.field_of_primary key_copy
         ECHO = {ON і OFF}
         INPUT = {ON і OFF}
         UPDATE = {ON і OFF}
         UPDATE_NULL = {ON і OFF}
         QUERY = {ON і OFF}
         FIXED_LENGTH = {ON і OFF}
         AUTOSKIP = {ON і OFF}
         AUTOHELP = {ON і OFF}
         UPPERCASE = {ON і OFF}
         for each field-level trigger in field
                 
         ENDDEFINE FIELD

  где  имеет следующий синтаксис:

  DEFINE PAGE
         PAGE = page_number
         POPUP = {ON і OFF}
         BORDER = {ON і OFF}
         HORIZONTAL_SCROLL_BAR = {ON і OFF}
         VERTICAL_SCROLL_BAR = {ON і OFF}
         DISSOLVE = {ON і OFF}
         TITLE = page_title
         PAGE_XS = page_x_size
         PAGE_YS = page_y_size
         PAGE_PXO = x_coord_of_view_on_page
         PAGE_PYO = y_coord_of_view_on_page
         PAGE_PXS = x_size_of_view_on_page
         PAGE_PYS = y_size_of_view_on_page
         PAGE_SXO = x_coord_of_view_on_page
         PAGE_SYO = y_coord_of_view_on_page
         MODE = TEXT
         LINE = line_number_a
         BOILER = <<<
         constant text at line_number
         constant text at line_number + 1
         ...
         >>>
         LINE = line_number_b
         BOILER = <<<
         ...
         >>>
         ...
  ENDDEFINE PAGE


                                   -- 251 --



  Замечание:  SQL*Forms   принимает   любые   операторы
              KEYWORD = VALUE в каждом из следующих форматов:

  1. KEYWORD = VALUE
  2. KEYWORD =   <<<
                 VALUE
                 >>>

  Большинство   операторов   KEYWORD = VALUE   пишутся  в формате 1.
  Исключениями ( пишутся в формате 2) являются операторы,  определяющие
  следующие  вопросы:
       - список значений текста
       - определение процедуры
       - текст триггера
       - текст шага
       - фраза WHERE/ORDER BY по умолчанию


© KOAP Open Portal 2000