
Мы включать 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.