Мы включать DL/I вызовов внутри приложений COBOL программы для обмена данными с IMS базы данных. Мы используем следующие DL/I с заявлениями в COBOL программы для доступа к базе данных:
Он используется для передачи управления от DL/I к COBOL программы. Вот синтаксис записи заявление:
ENTRY 'DLITCBL' USING pcb-name1 [pcb-name2]
Вышеупомянутое заявление кодируется в процедура по COBOL программы. Давайте будем вдаваться в подробности вступления заявление в COBOL программы:
В пакетном модуль инициализации триггеров программа-приложение и выполняется под его контролем.
Система DL/I загружает необходимые блоки управления и модули и приложения, и управления является применение программы.
DLITCBL стойки для DL/I-COBOL. Вступления заявление используется, чтобы определить точку входа в программу.
Когда мы призываем подпрограммы в COBOL, ее адрес. Аналогичным образом, когда DL/I обеспечивает управление для приложения, кроме того, он предоставляет адрес каждой печатной платы определяется в ОВО.
Все источники используются в прикладной программе должны быть определены внутри связь раздел COBOL программы, потому что PCB проживает за пределами приложения.
КСП определение внутри связь раздел называется PCB маски.
О связи между PCB маски и фактической PCB в создания хранилища, перечислив PCB в записи заявление. Последовательность перечисления в вступление заявление должно быть таким же, как они появляются в PSBGEN.
Она используется для управления обратно к МСМ. В синтаксисе goback заявление:
GOBACK
Ниже перечислены основные моменты, на которые следует обратить внимание о goback заявление:
GOBACK закодирован в конце приложения. Он возвращается в DL/I из этой программы.
Мы не должны использовать останов, он возвращает управление операционной системы. Если мы будем использовать остановить ход, DL/I никогда не получит возможность выполнить ее прекращения функций. Именно поэтому в DL/I прикладных программ, goback используется.
До выпуска goback заявление, все-DL/I наборов данных, используемые в приложений COBOL программы должны быть закрыты, в противном случае программа прекратит ненормально.
Оператор используется для запроса для DL/I такие услуги, как выполнение некоторых операций на IMS базы данных. Вот синтаксис вызова:
CALL 'CBLTDLI' USING DLI Function Code PCB Mask Segment I/O Area [Segment Search Arguments]
Синтаксис выше показаны параметры, которые вы можете использовать с вызовом заявление. Мы рассмотрим каждый из них в следующей таблице:
Сер. номер | Параметры и описание |
---|---|
1 | DLI код функции Определяет DL/I функции. Этот аргумент является имя четырех символов поля, опишите операции ввода/вывода. |
2 | Маска для печатных плат КСП определение внутри связь раздел называется PCB маски. Они используются в записи заявление. Нет выбора, назначить, открыть или закрыть заявления не требуется. |
3 | Этап заседаний высокого уровня ввода/вывода Имя входа/выхода области работы. Это область применения программы в которой DL/I переводит запрашиваемый сегмент. |
4 | Этап заседаний высокого уровня поиск аргументов Эти дополнительные параметры в зависимости от типа вызова. Они используются для поиска сегментов данных внутри системы управления орудиями (IMS) базы данных. |
Ниже приводятся замечания о вызове:
CBLTDLI стойки для COBOL для DL/I. Это имя интерфейса модуля, ссылку Редактировать по вашей программе модуля объекта.
После каждого DL/I вызов, DLI сохраняет статус код в КСП. программа может использовать этот код на предмет установления того, является ли вызов удалось или не удалось.
Для более глубокого понимания COBOL, вы можете через наших COBOL учебникможно здесь. В следующем примере показана структура COBOL программа, которая использует базы данных IMS и DL/I вызовов. Мы будем подробно обсуждать каждый из параметров, используемых в примере в предстоящих главах.
IDENTIFICATION DIVISION. PROGRAM-ID. TEST1. DATA DIVISION. WORKING-STORAGE SECTION. 01 DLI-FUNCTIONS. 05 DLI-GU PIC X(4) VALUE 'GU '. 05 DLI-GHU PIC X(4) VALUE 'GHU '. 05 DLI-GN PIC X(4) VALUE 'GN '. 05 DLI-GHN PIC X(4) VALUE 'GHN '. 05 DLI-GNP PIC X(4) VALUE 'GNP '. 05 DLI-GHNP PIC X(4) VALUE 'GHNP'. 05 DLI-ISRT PIC X(4) VALUE 'ISRT'. 05 DLI-DLET PIC X(4) VALUE 'DLET'. 05 DLI-REPL PIC X(4) VALUE 'REPL'. 05 DLI-CHKP PIC X(4) VALUE 'CHKP'. 05 DLI-XRST PIC X(4) VALUE 'XRST'. 05 DLI-PCB PIC X(4) VALUE 'PCB '. 01 SEGMENT-I-O-AREA PIC X(150). LINKAGE SECTION. 01 STUDENT-PCB-MASK. 05 STD-DBD-NAME PIC X(8). 05 STD-SEGMENT-LEVEL PIC XX. 05 STD-STATUS-CODE PIC XX. 05 STD-PROC-OPTIONS PIC X(4). 05 FILLER PIC S9(5) COMP. 05 STD-SEGMENT-NAME PIC X(8). 05 STD-KEY-LENGTH PIC S9(5) COMP. 05 STD-NUMB-SENS-SEGS PIC S9(5) COMP. 05 STD-KEY PIC X(11). PROCEDURE DIVISION. ENTRY 'DLITCBL' USING STUDENT-PCB-MASK. A000-READ-PARA. 110-GET-INVENTORY-SEGMENT. CALL ‘CBLTDLI’ USING DLI-GN STUDENT-PCB-MASK SEGMENT-I-O-AREA. GOBACK.