IMS DB - DL/I функции



DL/I - первый параметр, который используется в DL/I предоставляю слово. Данная функция позволяет какая операция будет выполнена на базе данных IMS IMS DL/I предоставляю слово. Синтаксис DL/I функции осуществляется следующим образом:

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 '.

Этот синтаксис представляет следующие ключевые моменты:

  • Для этого параметра, мы можем предоставить любые четыре символа имя как поле емкость хранения для хранения код функции.

  • DL/I параметра функции кодируется в рабочей памяти раздел COBOL программы.

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

  • DL/I функции разделены на три категории: получить, обновление, и другие функции. Давайте обсуждать каждый из них подробно.

Получите функций

Получить функции аналогичны для чтения в любом языке программирования. Получите функция используется для того, чтобы извлечь сегментов от МСМ DL/I базы данных. Следующие получить функции используются в IMS DB:

  • Получите уникальные
  • Получить следующее
  • Получить следующее в рамках родительского
  • Получить уникальный
  • Получить следующий
  • Получить в течение родительского

Давайте рассмотрим следующие IMS структуры базы данных для понимания DL/I функции вызовов:

IMS База данных1

Получите уникальные

"GU" код используется для получения уникальной функции. Она работает аналогично случайного чтения заявление в COBOL. Используется, чтобы получить какой-то конкретный случай на основе значений поля. Значение поля может осуществляться с помощью сегмента поиск арGUментов. Синтаксис вызова "GU" - следующим образом:

CALL 'CBLTDLI' USING DLI-GU
                     PCB Mask
                     Segment I/O Area
                     [Segment Search Arguments]

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

Получить следующее

'GN' код используется для получения следующей функции. Она работает аналогично читать далее заявление в COBOL. Он используется для выборки сегмент вхождений в последовательности. Предопределенный шаблон для доступа к сегмент данных происшествий в иерархии, затем слева направо. Синтаксис GN вызов - это следующим образом:

CALL 'CBLTDLI' USING DLI-GN
                     PCB Mask
                     Segment I/O Area
                     [Segment Search Arguments]

Если вы выполните указанные выше call, предоставляя соответствующие значения для всех параметров в COBOL программе, вы можете получить этот сегмент происшествие в сегмент ввода/вывода из базы данных в последовательном порядке. В примере, приведенном выше, он начинается с доступ к библиотеке сегмент, а затем книги сегмент, и т.д. Мы выполнить GN вновь и вновь, пока мы не достигнем сегмент событие мы хотим.

Получить следующее в рамках родительского

'ВНП' код используется для получения в течение родителей. Эта функция используется для того, чтобы получить этап вхождения в последовательности подчиненных в родительском сегмента. Синтаксис ВНП вызов - это следующим образом:

CALL 'CBLTDLI' USING DLI-GNP
                     PCB Mask
                     Segment I/O Area
                     [Segment Search Arguments]

Получить уникальный

'GHU' код используется для получить уникальные. Удерживайте функция определяет, что мы собираемся для обновления после извлечения. Также получить уникальную функцию соответствует получить уникальный вызов. С учетом ниже синтаксис GHU вызова:

CALL 'CBLTDLI' USING DLI-GHU
                     PCB Mask
                     Segment I/O Area
                     [Segment Search Arguments]

Получить следующий

"Москвой" код используется для получения следующего. Удерживайте функция определяет, что мы собираемся для обновления после извлечения. "Получение следующего функция соответствует получение следующего вызова. С учетом ниже синтаксис Тбилиси вызова:

CALL 'CBLTDLI' USING DLI-GHNP
                     PCB Mask
                     Segment I/O Area
                     [Segment Search Arguments]

Получить в течение родительского

'GHNP' код используется для получения следующего в рамках родительского. Удерживайте функция определяет, что мы собираемся для обновления после извлечения. "Получение следующего в рамках родительского функция соответствует получить следующее в рамках родительского вызова. С учетом ниже синтаксис GHNP вызова:

CALL 'CBLTDLI' USING DLI-ISRT
                     PCB Mask
                     Segment I/O Area
                     [Segment Search Arguments]

Функции обновления

Обновление функции аналогичны для повторной записи или операций вставки в любой другой язык программирования. Обновление функции используются для обновления сегментов в IMS DL/I базы данных. Перед использованием функции обновления, должен быть успешного вызова с удержания положения для сегмента события. Следующее обновление функции используются в IMS DB:

  • Вставьте
  • Удалить
  • REPLените

Вставьте

'ISRT' код используется для вставки. В ISRT функция используется для добавления нового сегмента в базу данных. Он используется для изменения существующей базы данных или загрузить новую базу данных. Ниже - синтаксис ISRT вызова:

CALL 'CBLTDLI' USING DLI-ISRT
                     PCB Mask
                     Segment I/O Area
                     [Segment Search Arguments]

Удалить

'DLET' код используется для удаления. Он используется для удаления сегмент от МСМ DL/I базы данных. С учетом ниже синтаксис DLET вызова:

CALL 'CBLTDLI' USING DLI-DLET
                     PCB Mask
                     Segment I/O Area
                     [Segment Search Arguments]

REPLените

"REPL" код используется для получения следующего в рамках родительского. Функция REPLены используется для REPLены сегмента в IMS DL/I базы данных. Ниже - синтаксис REPL вызова:

CALL 'CBLTDLI' USING DLI-REPL
                     PCB Mask
                     Segment I/O Area
                     [Segment Search Arguments]

Другие функции

Следующие другие функции используются в IMS DL/I вызовов:

  • Контрольно-пропускной пункт
  • Перезапустить
  • Соединители для печатных плат

Контрольно-пропускной пункт

'CHKP' код используется для контрольно-пропускного пункта. Оно используется в функции аварийного восстановления IMS. С учетом ниже синтаксис CHKP вызова:

CALL 'CBLTDLI' USING DLI-CHKP
                     PCB Mask
                     Segment I/O Area
                     [Segment Search Arguments]

Перезапустить

'XRST' код используется для перезапуска. Она используется в перезапуск функций IMS. Ниже - синтаксис XRST вызова:

CALL 'CBLTDLI' USING DLI-XRST
                     PCB Mask
                     Segment I/O Area
                     [Segment Search Arguments]

Соединители для печатных плат

КСП функция используется в Мосэнергосбыт программ в МСМ DL/I базы данных. С учетом ниже синтаксис PCB вызова:

CALL 'CBLTDLI' USING DLI-PCB
                     PCB Mask
                     Segment I/O Area
                     [Segment Search Arguments]

Вы можете найти более подробную информацию об этих функций в процессе восстановления главе.

Advertisements