DL/I é o primeiro parâmetro que é utilizado em um DL/I. Esta função informa que a operação vai ser feita no banco de dados IMS pelo IMS DL/I. A sintaxe da função DL/I é a seguinte:
01 DLI-FUNCTIONS. 05 DLI-GU PIC X(4) VALUE 'GU '. 05 DLI-GHU PIC X(4) VALUE 'GHU '. 05 DLI-GN PIC X(4) VALUE 'GN '. 05 DLI-GHN PIC X(4) VALUE 'GHN '. 05 DLI-GNP PIC X(4) VALUE 'GNP '. 05 DLI-GHNP PIC X(4) VALUE 'GHNP'. 05 DLI-ISRT PIC X(4) VALUE 'ISRT'. 05 DLI-DLET PIC X(4) VALUE 'DLET'. 05 DLI-REPL PIC X(4) VALUE 'REPL'. 05 DLI-CHKP PIC X(4) VALUE 'CHKP'. 05 DLI-XRST PIC X(4) VALUE 'XRST'. 05 DLI-PCB PIC X(4) VALUE 'PCB '.
Esta sintaxe representa os seguintes pontos-chave:
Para este parâmetro, podemos fornecer qualquer número de quatro caracteres nome como uma área de armazenagem para armazenar o código da função.
DL/I parâmetro da função é codificado no armazenamento de trabalho parte do programa em COBOL.
Para especificar a função DL/I, o programador precisa de código de conduta um nível de 05 nomes de dados, como DLI-GU em uma DL/I , uma vez que COBOL não permitir ao código literais sobre a chamada declaração.
DL/I as funções são divididas em três categorias: Obter, atualizar e outras funções. Vamos discutir cada um deles em detalhes.
Obtenha as funções são semelhantes ao da operação de leitura apoiada por qualquer linguagem de programação. Que função é usado para buscar os segmentos de um IMS DL/I banco de dados. O seguintes obtenha as funções são utilizadas no IMS DB:
Vamos considerar os seguintes dados DO IMS estrutura para compreender o DL/I chamadas de função.
"GU" código é utilizado para o obter função exclusiva. Ele funciona de forma similar ao comando leitura aleatória em COBOL. Ele é usado para buscar um determinado segmento ocorrência baseada em valores de campo. Os valores de campo podem ser fornecidos com segmento argumentos de pesquisa. A sintaxe de um GU chamada é a seguinte:
CALL 'CBLTDLI' USING DLI-GU PCB Mask Segment I/O Area [Segment Search Arguments]
Se você executar o comando call, fornecendo valores adequados para todos os parâmetros do programa em COBOL, você pode recuperar o segmento em segmento área de I/O do banco de dados. No exemplo acima, se você fornecer os valores de campo da biblioteca, revistas, e de saúde, em seguida, você obtém o desejado ocorrência do segmento de saúde.
'GN', código é utilizado para o próxima função. Ela funciona de forma semelhante ao ler próxima declaração em COBOL. É usado para buscar segmento as ocorrências em uma seqüência. O padrão predefinido para aceder ao segmento de dados as ocorrências está para baixo a hierarquia, depois à esquerda para a direita. A sintaxe de GN chamada é a seguinte:
CALL 'CBLTDLI' USING DLI-GN PCB Mask Segment I/O Area [Segment Search Arguments]
Se você executar o comando call, fornecendo valores adequados para todos os parâmetros do programa em COBOL, você pode recuperar o segmento ocorrência no segmento área de I/O do banco de dados em uma ordem sequencial. No exemplo acima, ele começa com o acesso a biblioteca, em seguida, Livros segmento segmento, e assim por diante. Nós executamos o GN chamada novamente e mais uma vez, até que se chegue o segmento ocorrência queremos.
"PIB" código é utilizado para obter o próximo dentro dos pais. Esta função é utilizada para recuperar ocorrências na sequência segmento subordinadas a um determinado segmento dos pais. A sintaxe de um PNB chamada é a seguinte:
CALL 'CBLTDLI' USING DLI-GNP PCB Mask Segment I/O Area [Segment Search Arguments]
'GHU' código é utilizado para Get Hold Unique. Função Hold especifica que vamos atualizar o segmento após a recuperação. O apoderar-se função exclusiva corresponde a obter único apelo. Abaixo está a sintaxe de um GHU chamada:
CALL 'CBLTDLI' USING DLI-GHU PCB Mask Segment I/O Area [Segment Search Arguments]
'GHN' código é, então, utilizada para Get Hold Next. Função Hold especifica que vamos atualizar o segmento após a recuperação. O apoderar-se função seguinte corresponde ao chegar próxima chamada. Dada abaixo é a sintaxe da GHN chamada:
CALL 'CBLTDLI' USING DLI-GHN PCB Mask Segment I/O Area [Segment Search Arguments]
'GHNP' código é utilizado para obter mantenha próximo dentro dos pais. Função Hold especifica que vamos atualizar o segmento após a recuperação. O apoderar-se dos pais na função corresponde ao chegar na empresa-mãe chamada. Abaixo está a sintaxe de um GHNP chamada:
CALL 'CBLTDLI' USING DLI-GHNP PCB Mask Segment I/O Area [Segment Search Arguments]
Funções de atualização são semelhantes a re-escrever ou operações de inserção em qualquer outra linguagem de programação. Funções de atualização são utilizados para atualizar os segmentos em um IMS DL/I banco de dados. Antes de usar a função de atualização, deve haver uma chamada bem-sucedida com cláusula para o segmento ocorrência. As seguintes funções de atualização são usados no IMS DB:
'ISRT' código é utilizado para a função Insert. O ISRT função é usada para adicionar um novo segmento para o banco de dados. Ela é usada para alterar um banco de dados existente ou carregar um novo banco de dados. Abaixo está a sintaxe de um ISRT chamada:
CALL 'CBLTDLI' USING DLI-ISRT PCB Mask Segment I/O Area [Segment Search Arguments]
'DLET' código é utilizado para a função de exclusão. É usado para remover um segmento de um IMS DL/I banco de dados. Abaixo está a sintaxe de um DLET chamada:
CALL 'CBLTDLI' USING DLI-DLET PCB Mask Segment I/O Area [Segment Search Arguments]
'REPL' código é utilizado para conseguir avançar dentro dos pais. A função de substituição é usado para substituir um segmento no IMS DL/I banco de dados. Abaixo está a sintaxe de uma 'REPL' chamada:
CALL 'CBLTDLI' USING DLI-REPL PCB Mask Segment I/O Area [Segment Search Arguments]
A seguir outras funções são usadas no IMS DL/I as chamadas:
'CHKP' código é utilizado para o Checkpoint. Ele é usado para a recuperação recursos do IMS. Abaixo está a sintaxe de um CHKP chamada:
CALL 'CBLTDLI' USING DLI-CHKP PCB Mask Segment I/O Area [Segment Search Arguments]
'XRST' código é utilizado para a função de reinício. Ela é usada no reinício recursos do IMS. Abaixo está a sintaxe de um XRST chamada:
CALL 'CBLTDLI' USING DLI-XRST PCB Mask Segment I/O Area [Segment Search Arguments]
PCB função é usada em programas CICS no IMS DL/I banco de dados. Abaixo está o PCB a sintaxe de chamada:
CALL 'CBLTDLI' USING DLI-PCB PCB Mask Segment I/O Area [Segment Search Arguments]
Você pode encontrar mais detalhes sobre essas funções na recuperação capítulo.