COBOL - DATA DIVISION - file description entries - RECORD clause - Format 3



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

COBOL - DATA DIVISION - file description entries - RECORD clause - Format 3
Enterprise COBOL for z/OS, V4.2, Language Reference

O formato 3 é usado para especificar registros de tamanho variável.

integer-6
Especifica o número mínimo de bytes a serem contidos em qualquer registro do arquivo.
Se o número integer-6 não for especificado, o número mínimo de bytes a ser contido em qualquer registro do arquivo é igual ao número mínimo de bytes descrito para um registro nesse arquivo.

integer-7
Especifica o número máximo de bytes em qualquer registro do arquivo.
Se o número integer-7 não for especificado, o número máximo de bytes a ser contido em qualquer registro do arquivo será igual ao maior número de bytes descrito para um registro nesse arquivo.

O número de bytes associados a uma descrição do registro é determinado pela soma do número de bytes em todos os itens de dados elementares (excluindo redefinições e renomeações), mais qualquer FILLER implícito devido à sincronização.
Se uma tabela for especificada:

  • O número mínimo de elementos da tabela descrito no registro é usado na soma acima para determinar o número mínimo de bytes associados à descrição do registro.
  • O número máximo de elementos da tabela descritos no registro é usado na soma acima para determinar o número máximo de bytes associados à descrição do registro.
  • Se data-name-1 for especificado:

    • data-name-1 deve ser um número inteiro não assinado elementar.
    • data-name-1 não pode ser um campo de data em janela.
    • O número de bytes no registro deve ser colocado no item de dados referenciado por data-name-1 antes que qualquer instrução RELEASE, REWRITE ou WRITE seja executada para o arquivo.
    • A execução de uma instrução DELETE, RELEASE, REWRITE, START ou WRITE ou a execução sem êxito de uma instrução READ ou RETURN não altera o conteúdo do item de dados referenciado por data-name-1.
    • Após a execução bem-sucedida de uma instrução READ ou RETURN para o arquivo, o conteúdo do item de dados referenciado por data-name-1 indica o número de bytes no registro que acabou de ler.

    Durante a execução de uma instrução RELEASE, REWRITE ou WRITE, o número de bytes no registro é determinado pelas seguintes condições:

    • Se data-name-1 for especificado, pelo conteúdo do item de dados referenciado por data-name-1
    • Se data-name-1 não for especificado e o registro não contiver um item de dados de ocorrência variável, pelo número de bytes de posições no registro
    • Se data-name-1 não for especificado e o registro contiver um item de dados de ocorrência variável, pela soma da posição fixa e da parte da tabela descrita pelo número de ocorrências no momento da execução da instrução de saída

    Durante a execução de uma instrução READ ... INTO ou RETURN ... INTO, o número de bytes no registro atual que participam como itens de dados de envio na instrução MOVE implícita é determinado pelas seguintes condições:

    • Se data-name-1 for especificado, pelo conteúdo do item de dados referenciado por data-name-1
    • Se data-name-1 não for especificado, pelo valor que seria movido para o item de dados referenciado por data-name-1, se data-name-1 tivesse sido especificado
    • If data-name-1 is not specified, by the value that would have been moved into the data item referenced by data-name-1 had data-name-1 been specified


    © Copyright IBM Corp.