Учебники

IMS DB — основы кобола

Мы включаем вызовы 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 передает управление прикладной программе, он также предоставляет адрес каждой печатной платы, определенной в PSB программы.

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

  • Определение печатной платы внутри секции связывания называется маской печатной платы .

  • Связь между масками печатных плат и фактическими печатными платами в хранилище создается путем перечисления печатных плат в операторе ввода. Последовательность перечисления в операторе ввода должна быть такой же, как они появляются в PSBGEN.

Модуль пакетной инициализации запускает прикладную программу и выполняется под его контролем.

DL / I загружает необходимые блоки управления и модули, а также прикладную программу, и управление передается прикладной программе.

DLITCBL означает DL / I для COBOL . Оператор ввода используется для определения точки входа в программу.

Когда мы вызываем подпрограмму на языке COBOL, ее адрес также предоставляется. Аналогично, когда DL / I передает управление прикладной программе, он также предоставляет адрес каждой печатной платы, определенной в PSB программы.

Все печатные платы, используемые в прикладной программе, должны быть определены в разделе связывания программы COBOL, поскольку печатная плата находится за пределами прикладной программы.

Определение печатной платы внутри секции связывания называется маской печатной платы .

Связь между масками печатных плат и фактическими печатными платами в хранилище создается путем перечисления печатных плат в операторе ввода. Последовательность перечисления в операторе ввода должна быть такой же, как они появляются в PSBGEN.

Заявление гобака

Он используется для передачи управления обратно в программу управления IMS. Ниже приводится синтаксис оператора Goback —

GOBACK

Ниже перечислены основные моменты, которые следует отметить в отношении заявления Гобака:

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

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

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

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

Мы не должны использовать STOP RUN, поскольку это возвращает управление операционной системе. Если мы используем STOP RUN, 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]

Синтаксис выше показывает параметры, которые вы можете использовать с оператором вызова. Мы обсудим каждый из них в следующей таблице —

S.No. Параметр и описание
1

Код функции DLI

Определяет функцию DL / I для выполнения. Этот аргумент является именем четырехсимвольных полей, которые описывают операцию ввода / вывода.

2

PCB Mask

Определение печатной платы внутри секции связывания называется маской печатной платы. Они используются в заявлении на вход. Операторы SELECT, ASSIGN, OPEN или CLOSE не требуются.

3

Область ввода / вывода сегмента

Название рабочей области ввода / вывода. Это область прикладной программы, в которую DL / I помещает запрошенный сегмент.

4

Сегмент поиска аргументов

Это необязательные параметры в зависимости от типа звонка. Они используются для поиска сегментов данных в базе данных IMS.

Код функции DLI

Определяет функцию DL / I для выполнения. Этот аргумент является именем четырехсимвольных полей, которые описывают операцию ввода / вывода.

PCB Mask

Определение печатной платы внутри секции связывания называется маской печатной платы. Они используются в заявлении на вход. Операторы SELECT, ASSIGN, OPEN или CLOSE не требуются.

Область ввода / вывода сегмента

Название рабочей области ввода / вывода. Это область прикладной программы, в которую DL / I помещает запрошенный сегмент.

Сегмент поиска аргументов

Это необязательные параметры в зависимости от типа звонка. Они используются для поиска сегментов данных в базе данных IMS.

Ниже приведены пункты, которые нужно отметить в отношении оператора Call.

  • CBLTDLI расшифровывается как COBOL для DL / I. Это имя интерфейсного модуля, ссылка на который редактируется с помощью объектного модуля вашей программы.

  • После каждого вызова DL / I DLI сохраняет код состояния на печатной плате. Программа может использовать этот код, чтобы определить, был ли вызов успешным или неудачным.

CBLTDLI расшифровывается как COBOL для DL / I. Это имя интерфейсного модуля, ссылка на который редактируется с помощью объектного модуля вашей программы.

После каждого вызова DL / I DLI сохраняет код состояния на печатной плате. Программа может использовать этот код, чтобы определить, был ли вызов успешным или неудачным.

пример

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