IMS DB - манипуляции данных


Advertisements

Различные манипуляции данных методов, используемых в IMS DL/I вызовы следующим образом:

  • ISRT вызов
  • Получите удержание вызовов
  • REPL вызов
  • DLET вызов

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

IMS DATABASE

ISRT вызов

Примечание:

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

  • ISRT вызовов используются для загрузки новой базы данных.

  • Мы ISRT вызов, когда сегмент поле описания данных.

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

  • Мы можем использовать сочетание обоих безоговорочной и квалифицированных ССС в вызове. Квалифицированный SSA могут быть указаны для всех указанных выше уровней. Давайте рассмотрим следующий пример:

CALL 'CBLTDLI' USING DLI-ISRT
                     PCB-NAME
                     IO-AREA
                     LIBRARY-SSA
                     BOOKS-SSA
                     UNQUALIFIED-ENGINEERING-SSA

Приведенный выше пример показывает мы выдачи ISRT вызов благодаря сочетанию квалифицированных и неквалифицированных SSA.

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

Когда мы ISRT вызов без указания ключевое поле, затем включить правило сообщает где сегментов относительно существующих парных сегментов. Ниже приводятся вставить правила:

  • Первый - если правило - во-первых, новый сегмент добавляется перед любой существующей двойни.

  • В прошлом - если это правило является последней, новый сегмент добавляется после всех существующих двойни.

  • Здесь - если правило - здесь, он добавляется в текущем положении относительно существующих двойня, который может быть во-первых, в прошлом, или в любом другом месте.

Коды состояния

В следующей таблице показаны соответствующие коды состояния после ISRT вызова:

Код состояния Описание
Пробелы успешного вызова
GE Несколько специальных соглашений об услугах, используются и DL/I не могу отвечать на вызов с указанный путь.
II Попробуйте добавить сегмент события, которое уже присутствует в базе данных.
LB / LC LD / LE Мы получить эти коды состояния нагрузки во время обработки. В большинстве случаев они свидетельствуют о том, что вы не установка сегментов в точном иерархической последовательности.

Получите удержание вызова

Примечание:

  • Существует три типа Получить призыв, который мы указать в DL/I вызов:

    • Get Hold Unique (GHU)
    • Get Hold Next (GHN)
    • Get Hold Next within Parent (GHNP)
  • Удерживайте функция определяет, что мы собираемся для обновления после извлечения. Так что перед тем, как REPL или DLET вызов, успешное удержание вызова должно быть опубликовано сообщение DL/I намерением для обновления базы данных.

REPL вызов

Примечание:

  • После успешного завершения получить вызов, мы REPL вызова для обновления сегмент события.

  • Мы не можем изменить длины сегмента с помощью REPL.

  • Мы не можем изменить значение ключевого поля с помощью REPL.

  • Мы не можем использовать квалифицированных SSA с REPL. Если мы указать квалифицированных SSA, то вызов не удается.

CALL 'CBLTDLI' USING DLI-GHU
                     PCB-NAME
                     IO-AREA
                     LIBRARY-SSA
                     BOOKS-SSA
                     ENGINEERING-SSA
                     IT-SSA.
                     
*Move the values which you want to update in IT segment occurrence*

CALL ‘CBLTDLI’ USING DLI-REPL
                     PCB-NAME
                     IO-AREA.

В приведенном выше примере обновляет его сегмент событие с помощью REPL. Во-первых, мы GHU звонить, чтобы получить этот сегмент событие мы хотите обновить. Затем, мы REPL вызова для обновления значения этого сегмента.

DLET вызов

Примечание:

  • DLET вызов работает практически так же, как в качестве REPL вызов.

  • После успешного завершения получить вызов, мы DLET вызов, чтобы удалить сегмент события.

  • Мы не можем использовать квалифицированных адаптера SSA с DLET вызова. Если мы указать квалифицированных SSA, то вызов не удается.

CALL 'CBLTDLI' USING DLI-GHU
                     PCB-NAME
                     IO-AREA
                     LIBRARY-SSA
                     BOOKS-SSA
                     ENGINEERING-SSA
                     IT-SSA.
                     
CALL ‘CBLTDLI’ USING DLI-DLET
                     PCB-NAME
                     IO-AREA.

В приведенном выше примере удалит его сегмент событие с помощью DLET вызова. Во-первых, мы GHU звонить, чтобы получить этот сегмент событие мы хотим удалить. Затем, мы DLET вызова для обновления значения этого сегмента.

Коды состояния

В следующей таблице показаны соответствующие коды состояния после REPL или DLET вызова:

Код состояния Описание
Пробелы успешного вызова
AJ Квалифицированных SSA используется на REPL или DLET вызова.
DJ Вопросы, касающиеся программ a REPLенить вызов без предшествующих получить вызов.
DA Программа вносит изменения в поле ключа до выдачи REPL или DLET вызов
Advertisements