различных данных методов, используемых в IMS DL/I вызовы следующим образом:
Давайте рассмотрим следующие IMS структуры базы данных для понимания данных функции вызовов:
Основы GU вызова, следующим образом:
GU вызов известен как получить уникальный вызов. Он используется для случайных обработки.
Если приложение не обновления базы данных реGUлярно или если число обновлений базы данных меньше, затем мы используем случайных обработки.
GU вызова используется для поместите курсор на особое положение для дальнейшего последовательного поиска.
GU вызовов в положении указателя в предыдущих вызовов.
GU обработки вызовов на основе уникальных ключевых полей в комплекте call.
Если мы в поле ключа, не является уникальным, а затем DL/I возвращает первый сегмент событие в ключевых местах.
CALL 'CBLTDLI' USING DLI-GU PCB-NAME IO-AREA LIBRARY-SSA BOOKS-SSA ENGINEERING-SSA IT-SSA
В приведенном выше примере показывает мы GU вызов, предоставляя полный набор квалифицированных SSA. Она включает в себя все ключевые поля от корневого уровня на этапе заседаний высокого уровня события, которое мы хотим получить.
Если мы не предоставляем полный комплекс квалифицированных ССО в вызов, а затем DL/I функционирует следующим образом:
При использовании неоригинальных ССС в GU вызов, DL/I открывает первый этап вхождения в базе данных, что соответствует критериям.
Когда мы GU вызов без каких-либо адаптеров SSA, DL/I возвращает первое событие в корневой сегмент в базе данных.
Если некоторые SSA на промежуточном уровнях не упоминаются в вызов, а затем DL/I использует либо позицию или значение по умолчанию безусловное SSA для сегмента.
В следующей таблице показаны соответствующие коды состояния после того, как GU вызова:
Код состояния | Описание |
---|---|
Пробелы | успешного вызова |
GE | DL/мне не удалось найти в сегмент, который отвечает критериям, указанным в |
Основы GN вызова, следующим образом:
GN вызов известен как получить следующего вызова. Он используется для механической обработки.
В исходное положение указателя в базе данных до корневой части первой записи базы данных.
В базе данных положении указателя - до следующего этапа вхождения в последовательности, после успешного завершения GN вызова.
Компрессор GN вызова начинается с помощью базы данных, из позиции, предыдущий вызов.
Если в GN вызов - это безусловное, она возвращает следующий сегмент событие в базе данных независимо от ее типа, в иерархической последовательности.
Если GN вызов включает SSA, а затем DL/I получает только те сегменты, в соответствии с требованиями указанных специальных соглашений об услугах.
CALL 'CBLTDLI' USING DLI-GN PCB-NAME IO-AREA BOOKS-SSA
Приведенный выше пример показывает мы GN вызов предоставления в исходное положение для чтения записи последовательно. Он достает первое появление книг сегмента.
В следующей таблице показаны соответствующие коды состояния после GN вызова:
Код состояния | Описание |
---|---|
Пробелы | успешного вызова |
GE | DL/мне не удалось найти в сегмент, который отвечает критериям, указанным в вызове. |
Компрессоры с GA | Безусловное GN вызов перемещается вверх на один уровень в базе данных иерархии, чтобы извлечь сегмента. |
ГБ | Конец база данных не будет достигнута, и сегмент не найдена. |
GK | Безусловное GN вызов пытается извлечь из сегмента в частности тип, кроме одной только извлекаются, но не остается на том же уровне иерархии. |
Команда коды используются с призывает извлечь сегмент события. Различные коды команд используется с вызовы рассматриваются ниже.
Примечание:
При F код команды не указан в вызов процессов первого сегмента.
F коды команд можно использовать, когда мы хотим процесс последовательно, и его можно использовать с GN вызовов и GNP вызовов.
Если мы указать F код команды на сезон "GU" вызов, он не имеет никакого значения, как GU вызовов получить первый сегмент событие по умолчанию.
Примечание:
При L код команды не указан в вызов процессов последнего появления сегмента.
Л коды команд можно использовать, когда мы хотим процесс последовательно, и его можно использовать с GN вызовов и GNP вызовов.
Примечание:
D команду код используется для выбора более чем одного сегмента событий с помощью только одного вызова.
Обычно DL/I работает на самом низком уровне в SSA, но во многих случаях, мы хотим данных из других уровнях, а также. В этих случаях мы можем использовать D код команды.
D код команды облегчает поиск весь путь сегментов.
Примечание:
C помощью команды код используется для конкатенирования ключи.
С помощью операторов отношения немного сложным, как это нам необходимо указать имя поля, оператор отношения, и значение для поиска. Вместо этого, мы можем использовать C код команды для создания каскадных ключ.
В следующем примере показано, как использовать C код команды:
01 LOCATION-SSA. 05 FILLER PIC X(11) VALUE ‘INLOCSEG*C(‘. 05 LIBRARY-SSA PIC X(5). 05 BOOKS-SSA PIC X(4). 05 ENGINEERING-SSA PIC X(6). 05 IT-SSA PIC X(3) 05 FILLER PIC X VALUE ‘)’. CALL 'CBLTDLI' USING DLI-GU PCB-NAME IO-AREA LOCATION-SSA
Примечание:
Когда мы сезон "GU" или GN вызов, DL/I устанавливает его родителях на самом низком уровне сегмент, который извлекается.
Если мы будем включать a P код команды, а затем DL/I устанавливает его родителях на более высоком уровне в иерархической путь.
Примечание:
При U код команды указан в безусловное ССС в GN вызов, DL/I ограничивает поиск для сегмента.
U код команды игнорируется, если она используется с квалифицированным ССС.
Примечание:
V код команды работает аналогично U код команды, но не ограничивает поиск сегмента на определенном уровне и на всех уровнях выше в иерархии.
V код команды игнорируется при использовании с квалифицированным ССС.
Примечание:
Q код команды используется, чтобы поставить в очередь или резервный сегмент для эксклюзивного использования вашего приложения.
Q код команды используется в интерактивной среды, где еще одна программа может внести изменения в сегменте.
Программа может иметь несколько позиций в IMS базы данных, которая известна как несколько обработки. Несколько обработка может быть сделано двумя способами:
Несколько ПХД может быть определена в единой базе данных. Если имеется несколько ПХД, затем программа может иметь различные мнения. Этот метод для осуществления нескольких обработка - неэффективным, поскольку в накладные расходы, дополнительные ПХД.
В программе можно вести несколько позиций в базу данных с помощью одного КСП. Это достигается за счет поддержания особой позиции по каждой иерархической путь. Несколько установка используется для доступа к сегментам двух или более типов последовательно в то же время.