Os diversos métodos de obtenção dos dados usados no IMS DL/I as chamadas são as seguintes:
Vamos considerar os seguintes dados Do IMS estrutura para entender a obtenção de dados chamadas de função.
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.
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.
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 |
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.
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 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.
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.
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.
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.
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
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.
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.
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.
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.
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á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.
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.