IMS DB - COBOL основные сведения


Advertisements

Мы включать DL/I вызовов внутри приложений COBOL программы для обмена данными с IMS базы данных. Мы используем следующие DL/I с заявлениями в COBOL программы для доступа к базе данных:

  • Вступления заявление
  • Goback заявление
  • Оператор вызов

Вступления заявление

Он используется для передачи управления от 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 заявление:

  • GOBACK закодирован в конце приложения. Он возвращается в DL/I из этой программы.

  • Мы не должны использовать останов, он возвращает управление операционной системы. Если мы будем использовать остановить ход, DL/I никогда не получит возможность выполнить ее прекращения функций. Именно поэтому в DL/I прикладных программ, goback используется.

  • До выпуска goback заявление, все-DL/I наборов данных, используемые в приложений COBOL программы должны быть закрыты, в противном случае программа прекратит ненормально.

Оператор Call

Оператор используется для запроса для 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.
Advertisements