Любой прикладной программе потребуется интерфейс для взаимодействия с CICS. EIB (Execute Interface Block) действует как интерфейс, позволяющий прикладным программам взаимодействовать с CICS. EIB содержит информацию, необходимую во время выполнения программы.
Ограниченные глаголы COBOL
При кодировании программы CICS мы не можем использовать команды, которые возвращают управление непосредственно в MVS. Если мы закодируем эти глаголы COBOL, это не даст никакой ошибки компиляции, но мы можем получить непредсказуемые результаты. Ниже приведены глаголы COBOL, которые не должны использоваться в программе CICS.
-
Операторы ввода-вывода файлов, такие как «Открыть», «Чтение», «Запись», «Переписать», «Закрыть», «Удалить» и «Запуск» Весь файловый ввод / вывод в CICS обрабатывается модулем управления файлами, и у них есть свой собственный набор операторов, таких как READ, WRITE, REWRITE и DELETE, которые мы будем обсуждать в следующих модулях.
-
Файловый раздел и отдел среды не требуются.
-
Нельзя использовать операторы COBOL, которые вызывают функции операционной системы, такие как Accept, Date / Time.
-
Не используйте DISPLAY, MERGE, STOP RUN и GO BACK.
Операторы ввода-вывода файлов, такие как «Открыть», «Чтение», «Запись», «Переписать», «Закрыть», «Удалить» и «Запуск» Весь файловый ввод / вывод в CICS обрабатывается модулем управления файлами, и у них есть свой собственный набор операторов, таких как READ, WRITE, REWRITE и DELETE, которые мы будем обсуждать в следующих модулях.
Файловый раздел и отдел среды не требуются.
Нельзя использовать операторы COBOL, которые вызывают функции операционной системы, такие как Accept, Date / Time.
Не используйте DISPLAY, MERGE, STOP RUN и GO BACK.
Выполнить блок интерфейса
Execute Interface Block (EIB) — это блок управления, который автоматически загружается CICS для каждой программы.
-
EIB является уникальным для задачи и существует в течение всей задачи. Он содержит набор системной информации, соответствующей задаче.
-
Он содержит информацию об идентификаторе транзакции, времени, дате и т. Д., Которая используется CICS во время выполнения прикладной программы.
-
Каждая программа, которая выполняется как часть задачи, имеет доступ к одному и тому же EIB.
-
Данные в EIB во время выполнения можно просмотреть, выполнив программу в режиме CEDF.
EIB является уникальным для задачи и существует в течение всей задачи. Он содержит набор системной информации, соответствующей задаче.
Он содержит информацию об идентификаторе транзакции, времени, дате и т. Д., Которая используется CICS во время выполнения прикладной программы.
Каждая программа, которая выполняется как часть задачи, имеет доступ к одному и тому же EIB.
Данные в EIB во время выполнения можно просмотреть, выполнив программу в режиме CEDF.
Поля ЕИБ
В следующей таблице приведен список полей, которые присутствуют в EIB —
EIB Field | Пункт ПОС | Описание |
---|---|---|
EIBAID | Х (1) | Клавиша помощи нажата |
EIBCALEN | S9 (4) КОМП | Содержит длину DFHCOMMAREA |
EIBDATE | S9 (7) COMP-3 | Содержит текущую системную дату |
EIBRCODE | Х (6) | Содержит код возврата последней транзакции |
EIBTASKN | S9 (7) COMP-3 | Содержит номер задачи |
EIBTIME | S9 (7) COMP-3 | Содержит текущее системное время |
EIBTRMID | Х (4) | Идентификатор терминала |
EIBTRNID | Х (4) | Идентификатор транзакции |
Классификация программ CICS
Программы CICS подразделяются на следующие три категории, которые мы обсудим по очереди —
- Некоговорящие программы
- Разговорные программы
- Псевдо-разговорные программы — мы обсудим в следующем модуле
Не разговорные программы
При выполнении не разговорных программ вмешательство человека не требуется. Все необходимые входы предоставляются при запуске программы.
-
Они похожи на пакетные программы, которые запускаются в пакетном режиме. Так что в CICS они развиваются редко.
-
Мы можем сказать, что они используются только для отображения последовательности экранов через равные промежутки времени.
Они похожи на пакетные программы, которые запускаются в пакетном режиме. Так что в CICS они развиваются редко.
Мы можем сказать, что они используются только для отображения последовательности экранов через равные промежутки времени.
пример
В следующем примере показана не диалоговая программа, которая просто выводит «HELLO WORLD» на терминал CICS в качестве вывода —
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-MESSAGE PIC X(30). PROCEDURE DIVISION. ******************************************************** * SENDING DATA TO SCREEN * ******************************************************** MOVE 'HELLO WORLD' TO WS-MESSAGE EXEC CICS SEND TEXT FROM (WS-MESSAGE) END-EXEC ******************************************************** * TASK TERMINATES WITHOUT ANY INTERACTION FROM THE USER* ******************************************************** EXEC CICS RETURN END-EXEC.
Разговорная программа
Отправка сообщения на терминал и получение ответа от пользователя называется разговором . Онлайн-приложение выполняет диалог между пользователем и прикладной программой с помощью пары команд SEND и RECEIVE. Ключевые пункты разговорной программы следующие:
-
Система отправляет сообщение на экран и ожидает ответа пользователя.
-
Время, затрачиваемое пользователем на ответ, известно как время ожидания . Это время значительно выше, что является основным недостатком программ конвертации.
-
Пользователь вводит необходимые данные и нажимает клавишу AID.
-
Приложение обрабатывает ввод пользователя и отправляет вывод.
-
Программа загружается в основное хранилище в начале и сохраняется до завершения задачи.
Система отправляет сообщение на экран и ожидает ответа пользователя.
Время, затрачиваемое пользователем на ответ, известно как время ожидания . Это время значительно выше, что является основным недостатком программ конвертации.
Пользователь вводит необходимые данные и нажимает клавишу AID.
Приложение обрабатывает ввод пользователя и отправляет вывод.
Программа загружается в основное хранилище в начале и сохраняется до завершения задачи.
пример
В следующем примере показана программа преобразования, которая принимает ввод от пользователя, а затем просто отображает тот же ввод на терминале CICS, что и вывод: