IMS DB - Manipulação de Dados

Os diferentes métodos de manipulação de dados usados ​​em chamadas IMS DL / I são os seguintes -

  • Chamada ISRT
  • Receber chamadas em espera
  • REPL Call
  • DLET Call

Vamos considerar a seguinte estrutura de banco de dados IMS para entender as chamadas de função de manipulação de dados -

Chamada ISRT

Pontos a serem observados -

  • A chamada ISRT é conhecida como chamada Insert, que é usada para adicionar ocorrências de segmento a um banco de dados.

  • As chamadas ISRT são usadas para carregar um novo banco de dados.

  • Emitimos uma chamada ISRT quando um campo de descrição de segmento é carregado com dados.

  • Um SSA não qualificado ou qualificado deve ser especificado na chamada para que o DL / I saiba onde colocar uma ocorrência de segmento.

  • Podemos usar uma combinação de SSA não qualificado e qualificado na chamada. Um SSA qualificado pode ser especificado para todos os níveis acima. Vamos considerar o seguinte exemplo -

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

O exemplo acima mostra que estamos emitindo uma chamada ISRT fornecendo uma combinação de SSAs qualificados e não qualificados.

Quando um novo segmento que estamos inserindo tem um campo-chave exclusivo, ele é adicionado na posição adequada. Se o campo-chave não for exclusivo, ele será adicionado pelas regras definidas por um administrador de banco de dados.

Quando emitimos uma chamada ISRT sem especificar um campo-chave, a regra de inserção informa onde colocar os segmentos em relação aos segmentos gêmeos existentes. A seguir estão as regras de inserção -

  • First - Se a regra for a primeira, o novo segmento será adicionado antes de quaisquer gêmeos existentes.

  • Last - Se a regra for a última, o novo segmento será adicionado após todos os gêmeos existentes.

  • Here - Se a regra estiver aqui, ela será adicionada na posição atual em relação aos gêmeos existentes, que podem ser o primeiro, o último ou em qualquer lugar.

Códigos de status

A tabela a seguir mostra os códigos de status relevantes após uma chamada ISRT -

S.Não Código de status e descrição
1

Spaces

Chamada bem sucedida

2

GE

Vários SSAs são usados ​​e o DL / I não pode atender à chamada com o caminho especificado.

3

II

Tente adicionar uma ocorrência de segmento que já está presente no banco de dados.

4

LB / LC LD / LE

Recebemos esses códigos de status durante o processamento do carregamento. Na maioria dos casos, eles indicam que você não está inserindo os segmentos em uma seqüência hierárquica exata.

Chame em espera

Pontos a serem observados -

  • Existem três tipos de chamada Get Hold que especificamos em uma chamada DL / I:

    • Get Hold Unique (GHU)

    • Get Hold Next (GHN)

    • Get Hold Next dentro do Parent (GHNP)

  • A função Hold especifica que vamos atualizar o segmento após a recuperação. Portanto, antes de uma chamada REPL ou DLET, uma chamada em espera bem-sucedida deve ser emitida informando ao DL / I a intenção de atualizar o banco de dados.

REPL Call

Pontos a serem observados -

  • Depois de obter uma chamada em espera com êxito, emitimos uma chamada REPL para atualizar uma ocorrência de segmento.

  • Não podemos alterar o comprimento de um segmento usando uma chamada REPL.

  • Não podemos alterar o valor de um campo-chave usando uma chamada REPL.

  • Não podemos usar um SSA qualificado com uma chamada REPL. Se especificarmos um SSA qualificado, a chamada falhará.

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.

O exemplo acima atualiza a ocorrência do segmento de TI usando uma chamada REPL. Primeiro, emitimos uma chamada GHU para obter a ocorrência do segmento que desejamos atualizar. Em seguida, emitimos uma chamada REPL para atualizar os valores desse segmento.

DLET Call

Pontos a serem observados -

  • A chamada DLET funciona da mesma maneira que uma chamada REPL.

  • Depois de obter uma chamada em espera com êxito, emitimos uma chamada DLET para excluir uma ocorrência de segmento.

  • Não podemos usar um SSA qualificado com uma chamada DLET. Se especificarmos um SSA qualificado, a chamada falhará.

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.

O exemplo acima exclui a ocorrência do segmento de TI usando uma chamada DLET. Primeiro, emitimos uma chamada GHU para obter a ocorrência do segmento que desejamos excluir. Em seguida, emitimos uma chamada DLET para atualizar os valores desse segmento.

Códigos de status

A tabela a seguir mostra os códigos de status relevantes após uma chamada REPL ou DLET -

S.Não Código de status e descrição
1

Spaces

Chamada bem sucedida

2

AJ

SSA qualificado usado em chamadas REPL ou DLET.

3

DJ

O programa emite uma chamada de substituição sem uma chamada de espera imediatamente anterior.

4

DA

O programa faz uma alteração no campo-chave do segmento antes de emitir a chamada REPL ou DLET