COBOL - DATA DIVISION - Using data in input and output operations



Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com

COBOL - DATA DIVISION - Using data in input and output operations
Enterprise COBOL for z/OS, V4.2, Language Reference

Defina os dados que você usa nas operações de entrada e saída na FILE SECTION (SEÇÃO DE ARQUIVOS).

Forneça as seguintes informações sobre os dados:

  • Nomeie os arquivos de entrada e saída que o programa usará.
    Use a entrada FD para dar nomes aos arquivos aos quais as instruções de INPUT-OUTPUT na PROCEDURE DIVISION podem se referir.

    Os itens de dados definidos na FILE SECTION não estão disponíveis para instruções PROCEDURE DIVISION até que o arquivo tenha sido aberto com êxito.

  • Na descrição do registro que segue a entrada FD, descreva os campos dos registros no arquivo:
    • Você pode codificar uma descrição de nível 01 de todo o registro e, em seguida, no código WORKING-STORAGE SECTION, uma cópia de trabalho que descreva os campos do registro com mais detalhes.
      Use a instrução READ INTO para trazer os registros para WORKING-STORAGE.
      O processamento ocorre na cópia dos dados em WORKING-STORAGE.
      Uma instrução WRITE FROM grava dados processados na área de registro definida em FILE SECTION.

    • O nome do registro estabelecido é o objeto das instruções WRITE e REWRITE.

    • Apenas para arquivos QSAM, você pode definir o formato de gravação na cláusula RECORDING MODE.
      Se você omitir a cláusula RECORDING MODE, o compilador determinará o formato do registro com base na cláusula RECORD e nas descrições de registro de nível 01.

    • Para arquivos QSAM, você pode definir um fator de bloqueio para o arquivo na cláusula BLOCK CONTAINS.
      Se você omitir a cláusula BLOCK CONTAINS, o arquivo será padronizado como desbloqueado.
      No entanto, você pode substituir isso pelos recursos de gerenciamento de dados do z/OS (incluindo uma instrução de controle de tarefa do arquivo DD).

    • Para arquivos seqüenciais de linha, você pode definir um fator de bloqueio para o arquivo na cláusula BLOCK CONTAINS.
      Quando você codifica BLOCK CONTAINS 1 RECORDS ou BLOCK CONTAINS n CHARACTERS, em que n é o comprimento de um registro lógico em bytes, as instruções WRITE resultam no registro sendo transferido imediatamente para o arquivo em vez de armazenado em buffer.
      Essa técnica é útil quando você deseja que cada registro seja gravado imediatamente, como em um log de erros.

Os programas na mesma unidade de execução podem compartilhar ou ter acesso a arquivos comuns.
O método para fazer isso depende se os programas fazem parte de uma estrutura aninhada (contida) ou são compilados separadamente (incluindo programas compilados como parte de uma sequência em lote).

Você pode usar a cláusula EXTERNAL para programas compilados separadamente.
Um arquivo definido como EXTERNAL pode ser referenciado por qualquer programa na unidade de execução que descreve o arquivo.

Você pode usar a cláusula GLOBAL para programas em uma estrutura aninhada ou contida.
Se um programa contiver outro programa (direta ou indiretamente), os dois programas poderão acessar um arquivo comum referenciando um nome de arquivo GLOBAL.



© Copyright IBM Corp.