Saltar navegação

S04 - READ

Conceito

O comando READ é utilizado para ler registros dos três tipos de arquivos VSAM; ESDS (sequenciais), RRDS (relativos) e KSDS (indexados). Entretanto, em ambientes CICS, a maioria dos arquivos são do tipo KSDS e estes são acessados randomicamente na maioria das vezes.

Formato

EXEC CICS
   
  READ FILE(nome-do-arquivo)
    INTO(nome-da-area-de-dados)
    RIDFLD(nome-de-campo)
    [RESP(nome-de-campo)
END-EXEC    

 

Opções Descrição
FILE Especifica o nome do arquivo que contém os registros a serem lidos
INTO Especifica o nome da área de dados onde o registro lido é gravado
RIDFLD Especifica o nome do campo que contém a chave do registro a ser lido (KSDS)
RESP Especifica o nome do campo onde o CICS armazena o response code (equivalente ao file status) da operação de leitura

Exemplo

EXEC CICS
   
  READ FILE('CUSTMAS')
    INTO(CUSTOMER-MASTER-RECORD)
    RIDFLD(CUSTNOI)
    RESP(RESPONSE-CODE)
END-EXEC    
IF RESPONSE-CODE = DFHRESP(NORMAL)
-
-

Considerações

As três opções obrigatórias no comando, fornecem o nome do arquivo, a área onde o registro deve ser armazenado após a leitura e o campo onde está a chave do registro a ser lido.

A opção RESP é utilizada para determinar se a operação de leitura foi bem sucedida. Após a operação de leitura o CICS coloca um response code no campo nomeado na opção RESP. O campo então pode ser testado para se verificar se a operação de leitura foi bem sucedida ou não. Utiliza-se a palavra chave RFHRESP para testar as condições. Para testar a condição de registro não encontrado utiliza-se NOTFND entre parênteses após DFHRESP. Para testar se a operação foi bem sucedida utiliza-se NORMAL. As condições possíveis para as operações de I/O bem como outras serão apresentadas nas aulas subsequentes.

A opção RESP pode ser utilizada em qualquer comando CICS. O response code retornado pelo CICS irá variar de acordo com a função do comando. Os diversos response codes serão vistos à medida da evolução das aulas.

Licença: licença proprietária