- IMS DB Основы
- IMS_DB домой
- IMS DB - Обзор
- IMS DB - структура
- IMS DB - DL/I терминологии
- IMS DB - DL/I обработка
- IMS DB - блоки управления
- IMS DB - программирование
- IMS DB - COBOL основные сведения
- IMS DB - DL/I функции
- IMS DB - для печатных плат подсети
- IMS DB - SSA
- IMS DB - извлечение данных
- IMS DB - манипуляции данных
- IMS DB - вторичный фиксатор делительного механизма
- IMS DB - логическая база данных
- IMS DB - Восстановление
- IMS DB - вопросы для интервью
IMS DB - манипуляции данных
Различные манипуляции данных методов, используемых в IMS DL/I вызовы следующим образом:
- ISRT вызов
- Получите удержание вызовов
- REPL вызов
- DLET вызов
Давайте рассмотрим следующие IMS структуры базы данных для понимания манипуляции данных функции вызовов:
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 вызов |