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 функции вызовов:
"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:
'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ены сегмента в 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]
Вы можете найти более подробную информацию об этих функций в процессе восстановления главе.