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






        ЧАСТЬ III  CRT
        --------------

    В Части III излагается порядок применения утилиты CRT для оп-
ределения характеристик дисплея терминала,  используемых  набором
полноэкранных продуктов  ORACLE.  С помощью утилиты CRT Вы можете
также производить настройку экранных дисплеев и отображать  прог-
раммные функции на клавиатуру терминала.
    Помимо описания основных принципов работы и возможностей ути-
литы CRT, в главе 8 рассматриваются следующие вопросы:
    * продукты, использующие определения CRT
    * терминалы, поддерживаемые утилитой CRT
    * таблицы БД, используемые утилитой
    * порядок добавления и переопределения характеристик терминала
    * запуск утилиты CRT


    ГЛАВА 8  УТИЛИТА ОПРЕДЕЛЕНИЯ ХАРАКТЕРИСТИК ТЕРМИНАЛА CRT
    ------------------------------------------------------------Д

    Утилита CRT создает или переопределяет описания характеристик
терминала, используемые различными продуктами ORACLE. Характерис-
тики терминала используются при решении следующих задач:
    * Наложения  совокупности  программных  функций на клавиатуру
      терминала, использующую эти функции. Так, например, функции
      "перейти к  следующему  полю" и "показать список допустимых
      значений" могут выполняться с помощью функциональных клавиш F1 и F2.
    * Определения изобразительных возможностей терминала  (инвер-
      сия изображения, выделение цветом или яркостью, подчеркива-
      ние), используемых полноэкранными продуктами ORACLE.
    * Настройки изображений под различные полноэкранные продукты.

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

    В каждой операционной среде функционирования СУРБД ORACLE ра-
ботает ряд терминалов, стандартные (по умолчанию) определения ха-
рактеристик которых оформлены в виде CRT-файлов.   Дополнить  или
переопределить эти характеристики можно с помощью утилиты CRT.
    Корпорация Oracle поставляет множество стандартных  определе-
ний характеристик  различных терминалов и Вам никогда не придется
расширять их состав.  Так,  например,  в состав CRT-файлов входят
IBM3270.CRT, VT220.CRT и D410.CRT.  Эти три файла содержат инфор-
мацию о терминалах типа 3270, VT220 и D410, соответственно. Пере-
чень терминалов,  для которых имеются стандартные определения ха-
рактеристик, представлен в Приложении E.
    Если этот перечень Вас удовлетворяет, обращение к утилите CRT
не потребуется.
    Однако, если  Вы хотите создать определения характеристик для
нового терминала или переопределить имеющиеся характеристики,  Вы
должны обратиться к утилите CRT и внести изменения в соответству-
ющую информацию, хранящуюся в базе, или создать новый CRT-файл.




                                    -- 87 --



    Таблицы и файлы CRT
    -------------------
    Определения характеристик  терминалов  хранятся в БД ORACLE в
таблицах CRT приблизительно в следующем формате:

Программа ORACLE   Тип терминала   Клавиша    Программная функция
---------------------------------------------------------------ДД
SQL*Forms IAP      VT100           7 (число)  Следующее поле
SQL*Forms IAP      IBM3270         ENTER      Следующее поле

    Первая строка представленной гипотетической таблицы говорит о
том, что если Вы работаете с утилитой IAP, входящей в состав про-
дукта SQL*Forms, на терминале DEC VT100, то для перехода к следу-
ющему полю на экране Вы должны использовать клавишу,   предназна-
ченную для  ввода  числа 7.  Аналогичная функция на терминале IBM
3270 выполняется при помощи клавиши ENTER.
    Информация, представленная в первой строке, может быть найде-
на в файле с именем VT100.CRT.  Если тип  терминала  совпадает  с
именем CRT-файла,   это  означает,  что в данном файле содержится
описание терминала.

    Определения терминалов хранятся в словаре БД ORACLE (в табли-
цах CRT),  поэтому CRT-файлы, на использовании которых базируется
работа различных программных продуктов ORACLE,  могут быть  легко
скомпонованы из указанных таблиц.
    Утилита CRT поддерживает несколько таблиц БД (например,  таб-
лицы FUNCTIONS и CRT_PRODUCTS),  хранящих информацию,  касающуюся
терминалов. Пользователи могут корректировать эту информацию, об-
ратившись к  таблицам  надлежащим образом.  С помощью этих таблиц
утилита CRT генерирует CRT-файлы.

    Продукты ORACLE, использующие определения CRT
    ---------------------------------------------
    К CRT-файлам  в  процессе  своей  работы обращаются следующие
полноэкранные программные продукты ORACLE или средства СУРБД:
    * SQL*Forms
    * SQL*Calc
    * SQL*Menu
    * SQL*QMX
    * SQL*DBA
    Примечание: Несмотря на то, что продукт Easy*SQL тоже обращается
к утилите CRT,  он не использует ее для определения функций клавиатуры.

    Терминалы, поддерживаемые утилитой CRT
    --------------------------------------
Утилита CRT поддерживает два следующих типа устройств отображения информации:

    Синхронные терминалы

    Синхронные устройства (такие как IBM 3270) передают и получа-
ют данные поэкранно.  Они также известны как устройства, работаю-
щие в блочном режиме.  Вследствие этого синхронные  терминалы  не
нуждаются в  средствах посимвольной обработки,  рассматриваемых в
следующем разделе.

    Асинхронные терминалы



                                    -- 88 --



    Асинхронные устройства (такие как DEC VT100) передают и полу-
чают данные посимвольно.
    Асинхронные терминалы должны быть в состоянии выполнять  сле-
дующие задачи:
    * передавать каждый введенный  символ  или  каждое  введенное поле
    * использовать набор символов, "родной" для данной операцион-
      ной системы (ASCII или EBCDIC)
    * перемещать курсор на одну позицию влево без стирания символа
    * перемещать курсор на одну позицию вправо без стирания  символа
    * позиционировать курсор в нужную строку и столбец
    * обрабатывать данные в темпе со скоростью их получения в бо-
      дах (или иметь протокол управления потоком типа X-ON/X-OFF)
    * очищать  весь  экран полностью с установкой курсора в левом
      верхнем углу
    Характеристики терминала должны устанавливаться так, чтобы:
    * если характеристика установлена,  устройство отображало  бы
      входные данные  с использованием этой характеристики до тех
      пор, пока характеристика не будет переустановлена или сброшена
    * установка или сброс характеристики  не  изменяли  положение курсора
    * установка или сброс характеристики не отражались на  содер-
      жимом порции выводимых на экран данных

    Значения характеристик по умолчанию
    -----------------------------------

    Каждый дистрибутив СУБД ORACLE для данной операционной  среды
включает в себя соответствующие среде значения характеристик тер-
минала по умолчанию.  Эти значения,  обычно содержащиеся в  файле
DEFAULT.CRT, определяют функции клавиатуры терминала,  используе-
мые операционной средой.
    Например, на  дистрибутивной ленте для среды IBM VM/SP содер-
жимое файла DEFAULT.CRT совпадает с содержимым файла IBM3270.CRT,
а на  дистрибутивной  ленте  для  среды  DEC VMS содержимое файла
DEFAULT.CRT совпадает с содержимым файла VT100.CRT.
    В большинстве  программ  ORACLE  предполагается использование
значений характеристик по умолчанию.  Если Вы хотите использовать
другие значения,  отличные от значений по умолчанию,  при запуске
программ Вам придется указывать тип терминала способом, описанным
в программной документации.

    Базовые таблицы, используемые утилитой CRT
    ------------------------------------------
    Администратор БД ORACLE,  имеющий имя SYSTEM,  является  вла-
дельцем нескольких таблиц базы, используемых утилитой CRT. Если в
использовании утилиты CRT возникает необходимость,   эти  таблицы
должны быть  загружены  администратором.   Здесь они будут кратко
охарактеризованы, подробнее же мы с ними познакомимся в последую-
щих разделах.

CRT             Таблица, описывающая несколько  аппаратных харак-
                теристик терминалов.

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

CRT_PRODUCTS    Таблица,  содержащая коды  программных продуктов,
                использующих определения CRT.


                                    -- 89 --



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

ESC             Таблица, предназначенная  для генерации определе-
                ний характеристик терминалов в следующем формате:
                - код программного продукта,
                - код терминала,
                - клавиша терминала,
                - программная функция ORACLE.
                Это одна из основных таблиц утилиты CRT.

FUNCTIONS       Таблица,  содержащая  коды  экранных функций про-
                граммных продуктов.

GOTO_LC         Таблица, переводящая позицию в формате  "строка-столбец" в
                координаты курсора или последние в координатные коды для
                определенных устройств отображения информации, для которых
                координатные коды не поддаются вычислению.

    Таблицы CRT обычно создаются на  последнем  шаге  инсталляции
СУРБД ORACLE.   Во  многих  операционных  системах  файл с именем
CRTINS.SQL используется для входа в систему  под  именем  SYSTEM,
создания и  загрузки  таблиц.   Подробно об инсталляции указанных
таблиц см.  в руководстве "Installation and User's Guide" для Ва-
шей операционной системы.
    Обратите внимание на то, что файл CRTINS предоставляет доступ
таблицам CRT  только пользователю с именем SYSTEM.  Если доступ к
таблицам CRT потребуется другим пользователям БД  ORACLE  (напри-
мер, для  вставки или корректировки строк и генерации настраивае-
мых определений терминалов), право такого доступа может быть пре-
доставлено только пользователем SYSTEM и в явной форме.

    Соглашения по обозначениям

    В последующих  разделах  при рассмотрении отдельных команд мы
будем пользоваться следующими обозначениями:
Запись          Значение
------------------------
\nnn            восьмиричное число
\e              символ начала управляющей последовательности  (ESC)
\x              координата строки
\y              координата столбца
\t              координата верхней строки
\b              координата нижней строки


    Таблица CRT

    Каждая строка  таблицы  SYSTEM.CRT  описывает  характеристики
терминального устройства определенного типа. Элементы строки опи-
сывают порядок использования полноэкранными продуктами таких  ха-
рактеристик терминала, как выделение цветом или яркостью и инвер-
сия изображения.
    Информация, включаемая  в  эту таблицу,  обычно выбирается из
руководства программиста или документации,  описывающей  принятые
для терминала esc-последовательности.
    Примечание: Таблица  SYSTEM.CRT   независима   от   продуктов
Oracle. Другими словами, в ней нет столбца, связанного каким-либо

                                    -- 90 --



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

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

TYPE        Код из таблицы CRT_TYPE, обозначающий тип устройства:
            CHAR  = асинхронные устройства
            BLOCK = синхронные устройства, кроме типа 3270
            3270  = синхронные устройства типа 3270

OFFSET      Код, используемый при получении координат курсора, обычно числовое
            значение, добавляемое к номе ру строки или столбца с целью
            преобразования последнего в код символа.  Это значение обычно равно
            31 (в десятичной системе)  или \037. Нулевое зна- чение говорит о
            том, что координаты курсора будут представлены строкой символов.

BASE        Номер первой строки терминала, обычно 1 или 0.

LC_TABLE    Имя, присвоенное терминалу в таблице GOTO_LC. Ес-
            ли в  таблице  GOTO_LC соответствующая строка от-
            сутствует, значение столбца не будет определено.

LINES       Количество строк на экране терминала.
COLUMNS     Количество символов в каждой строке терминала.
MSGL        Номер строки сообщений.
MODL        Номер строки состояния.

CLEARSCREEN Команда, используемая для очистки экрана термина-
            ла при  нахождении  курсора  в левом верхнем углу экрана.

BACKSPACE   Команда, используемая для перемещения курсора  на одну позицию
            влево.  Значением должен быть управляющий символ возврата без
            удаления.   Для  большинства асинхронных устройств - \008.

FORESPACE   Команда, используемая для перемещения курсора  на одну позицию
            вправо. Значением должен быть управ- ляющий символ  продвижения
            вперед  без удаления.  Пробел не допускается.

GOTO_LC     Команда,  используемая  для перемещения курсора в указанную в
            формате "строка/столбец" позицию. Управляющая последовательность
            "\y"   используется для задания координаты строки,
            "\x" - для указания координаты столбца.
            (Последовательности "\y" и "\x" могут использоваться только в этом
            поле; в других полях их появление не имеет смысла.)
            Так, например, если команда читается как:
            "esc", точка с запятой,  координата строки, запя-
            тая, координата столбца, "H",
            записывается она следующим образом:
            \e;\y,\xH

CLEARLINE   Команда,  используемая  для  очистки всей текущей строки,
            независимо от того, в какой позиции строки находится курсор.

                                    -- 91 --



TSET        Команда, предназначенная для инициализации терминала перед
            использованием. Является первой из команд, посылаемых  утилитами
            СУБД,  использующими характеристики CRT.  Так, например, утилита
            SQL*Forms может изменять установочные характеристики терминала (и
            восстанавливать их значения командой TRSET).

TRSET       Команда,  предназначенная  для восстановления характеристик
            терминала после использования.  Является последней  командой,
            посылаемой  утилитами СУБД, использующими характеристики CRT. Так,
            например, утилита  SQL*Forms с ее помощью восстанавливает
            первоначальные значения установочных характеристик терминала
            (измененные командой TSET).

ATT1        Команда, включающая атрибут изображения 1 (обычно инверсию
            изображения). Используется утилитой SQL* Forms при работе с полями,
            доступными для ввода.  Утилитой SQL*Calc не используется.

ATT2        Команда, включающая атрибут изображения 2 (обычно подчеркивание).
            Используется  утилитой  SQL*Forms при работе со значениями,
            отображаемыми на экране подсказки. Утилитой SQL*Calc не
            используется.

ATT1_2      Команда,  включающая  атрибуты изображения 1 и 2.  Используется
            утилитой SQL*Forms для строки  сообщений.
            Утилитой SQL*Calc не используется.

ATTOFF      Esc - последовательность,  придающая изображению на экране вид, как
            после очистки экрана.

WINDOW      Команда, создающая из подмножества строк на экране область просмот
            ра (скроллинга).  Координаты верхней и нижней строк области обозна
            чаются последовательностями "\t" и "\b".  (Последовательности "\t"
            и "\b" могут использоваться только в этом поле; в  других полях их
            появление не имеет смысла.) Так, например, если команда читается
            как:  "esc", знак переноса, номер верхней строки, запятая, номер
            нижней строки, записывается она следующим образом:  \e-\t,\b

SCRUP       Команда прокрутки (перемещения) изображения в окне экрана на одну
            строку вверх.

SCRDN       Команда прокрутки (перемещения) изображения в окне экрана на одну
            строку вниз.

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

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

PROTON      Команда, включающая защиту экрана.

PROTOFF     Команда, выключающая защиту экрана.



                                    -- 92 --



CLEAREOL    Команда, очищающая  часть строки от текущей пози-
            ции курсора и до конца строки.

CURSORUP    Команда перемещения курсора на одну позицию вверх.

CURSORDOWN  Команда перемещения курсора на одну позицию вниз.

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

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

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

ATT1_3      Команда, включающая дополнительную характеристику изображения,
            например, полужирный шрифт и выделение яркостью  или  цветом.
            Используется утилитой SQL*Forms для полей,  не прошедших проверку.
            Утилитой SQL*Calc не используется.

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

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

KOAP Open Portal 2000