IMS DB - Recuperação de Dados


Advertisements

Os diversos métodos de obtenção dos dados usados no IMS DL/I as chamadas são as seguintes:

  • GU Chamada
  • GN Chamada
  • Usando códigos de comando
  • Processamento Múltiplo

Vamos considerar os seguintes dados Do IMS estrutura para entender a obtenção de dados chamadas de função.

IMS Banco de Dados1

GU Chamada

Os princípios básicos do GU convite são os seguintes:

  • GU chamada é conhecido como obter atendimento exclusivo. Ele é usado para processamento aleatória.

  • Se um aplicativo não actualizar regularmente a base de dados ou se o número de atualizações do banco é menor, em seguida, utilizamos transformação aleatória.

  • GU chamada é usada para colocar o ponteiro em uma determinada posição sequencial para recuperação.

  • GU as chamadas são independentes da posição do ponteiro estabelecido pelo chamadas anteriores.

  • GU chamada processamento é baseado no único campos-chave fornecida no comando call.

  • Se estamos aptos a fornecer um campo de chave que não é exclusivo, então DL/I retorna o primeiro segmento ocorrência do campo chave.

CALL 'CBLTDLI' USING DLI-GU
                     PCB-NAME
                     IO-AREA
                     LIBRARY-SSA
                     BOOKS-SSA
                     ENGINEERING-SSA
                     IT-SSA

O exemplo acima mostra que emitir um GU chamada por fornecer um conjunto completo de SSA. Ela inclui todos os campos-chave a partir do nível da raiz ao segmento ocorrência que queremos recuperar.

GU chamada Considerações

Se nós não fornecemos o conjunto completo de ssa qualificada durante a chamada, então DL/I funciona da seguinte forma:

  • Quando usamos um tremendo SSA de GU chamada, DL/I acede ao primeiro segmento ocorrência no banco de dados que atende aos critérios que você especificar.

  • Quando digitamos uma GU chamada sem qualquer rea, DL/I retorna à primeira ocorrência da raiz segmento no banco de dados.

  • Se alguns SSA em níveis intermediários não são mencionados em a chamada e, em seguida, DL/I usa a posição estabelecida ou o valor padrão de um incondicional SSA para o segmento.

Códigos de Status

A tabela a seguir mostra os códigos de estado depois de um GU convite:

Código de Status Descrição
Os espaços Chamada bem-sucedida
GE DL/eu não poderia encontrar um segmento que encontrou-se com o critério especificado no convite

GN Chamada

Os princípios básicos do GN chamada são as seguintes:

  • GN chamada é conhecido como obter o próximo convite. Ele é usado para processamento seqüencial.

  • A posição inicial do ponteiro no banco de dados é antes o segmento da raiz do primeiro registro do banco de dados.

  • Dados da posição do ponteiro é antes do próximo segmento ocorrência na seqüência, depois de uma bem-sucedida GN chamada.

  • O GN chamada inicia através da base de dados da posição estabelecida pela chamada anterior.

  • Se a GN chamada é incondicional, ele retorna o próximo segmento ocorrência no banco independentemente do seu tipo, na seqüência hierárquica.

  • Se a GN chamada inclui SSAs, então DL/I recupera apenas os segmentos que atendem as exigências de todos os indicados SSAs.

CALL 'CBLTDLI' USING DLI-GN
                     PCB-NAME
                     IO-AREA
                     BOOKS-SSA

O exemplo acima mostra que emitir um GN chamada fornecendo a posição de partida para ler os registros seqüencialmente. Ela obtém a primeira ocorrência dos livros segmento.

Códigos de Status

A tabela a seguir mostra os códigos de estado após a GN chamada:

Código de Status Descrição
Os espaços Chamada bem-sucedida
GE DL/eu não poderia encontrar um segmento que encontrou-se com o critério especificado no convite.
GA Um incondicional GN chamada move-se um nível na hierarquia do banco para buscar o segmento.
GB Final do banco de dados é alcançada e o segmento não foi encontrado.
GK Um incondicional GN chamada tenta buscar um segmento de um tipo especial que não a um só recuperadas, mas permanece no mesmo nível hierárquico.

Códigos de Comando

Códigos de Comando são utilizados com chamadas para buscar um segmento ocorrência. Os diversos códigos de comando usado com as chamadas são discutidos abaixo.

F código de comando

Os pontos de observação:

  • Quando um F código de comando é especificado em uma chamada, o processa a primeira ocorrência do segmento.

  • F códigos de comando pode ser utilizado quando se pretende processar seqüencialmente e ela pode ser usada com GN as chamadas e o GNP.

  • Se especificar um F código de comando com uma GU chamada, não tem qualquer significado, como GU chamadas buscar o primeiro segmento ocorrência por padrão.

L Código de Comando

Os pontos de observação:

  • Quando um L código de comando é especificado em uma chamada, o processa a última ocorrência do segmento.

  • L códigos de comando pode ser utilizado quando se pretende processar seqüencialmente e ela pode ser usada com GN as chamadas e o GNP.

D Código de Comando

Os pontos de observação:

  • D código de comando é usado para buscar mais de um segmento ocorrências utilizando apenas uma única chamada.

  • Normalmente DL/I opera no nível mais baixo segmento especificado em um navio, mas, em muitos casos, queremos que os dados de outros níveis, como bem. Nesses casos, podemos utilizar o D código de comando.

  • D código de comando facilita a recuperação de todo o caminho de segmentos.

C Código de Comando

Os pontos de observação:

  • C código de comando é utilizado para concatenar as chaves.

  • Usando operadores relacionais é um pouco complexa, pois, temos de especificar o nome do campo, um operador relacional, e um valor de pesquisa. Em vez disso, podemos utilizar um C código de comando para fornecer uma chave concatenada.

O exemplo a seguir mostra o uso de C código de comando.

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

P Código de Comando

Os pontos de observação:

  • Quando digitamos uma GU ou GN, o DL/I estabelece sua filiação no nível mais baixo segmento que é recuperado.

  • Se incluirmos um P código de comando, então o DL/I estabelece sua filiação a um nível mais elevado no segmento hierárquico do caminho.

U Código de Comando

Os pontos de observação:

  • Quando um U código de comando é especificado em um tremendo SSA em um GN chamada, o DL/I restringe a pesquisa para o segmento.

  • U código de comando é ignorado se for usado com um qualificado SSA.

V Código de Comando

Os pontos de observação:

  • V código de comando funciona de maneira similar ao U código de comando, mas restringe a busca de um segmento em um determinado nível e todos os níveis acima da hierarquia.

  • V código de comando é ignorado quando usado com um qualificado SSA.

Q Código de Comando

Os pontos de observação:

  • Q código de comando é utilizado para enqueue ou reserva um segmento para uso exclusivo de seu programa de aplicação.

  • Q código de comando é utilizado em um ambiente interativo onde outro programa pode fazer uma mudança para um segmento.

Processamento Múltiplo

Um programa pode ter várias posições no IMS banco de dados o que é conhecido como várias transformações. Vários tratamento pode ser feito de duas maneiras:

  • Vários PCB
  • Diversos posicionamentos

Vários PCB

Várias PCBs podem ser definidas para um único banco de dados. Se houver vários PCB, então um programa de aplicação pode ter diferentes pontos de vista. Este método de execução vários tratamento é ineficaz por causa da despesas gerais extra imposta pelo PCB.

Diversos posicionamentos

Um programa pode manter várias posições em um banco de dados utilizando um único PCB. Isso é alcançado através da manutenção de uma posição de destaque para cada caminho hierárquico. Diversos posicionamentos é usado para acessar segmentos de dois ou mais tipos seqüencialmente no mesmo tempo.

Advertisements