Menu

COBOL - A Cláusula OCCURS


  • A cláusula OCCURS é usada para definir uma tabela.

  • A cláusula OCCURS indica a repetição da definição do nome dos dados.

  • A cláusula OCCURS especifica tabelas cujos elementos podem ser referenciados por indexação ou subscrição.

  • A cláusula OCCURS pode ser especificada para item elementar ou de grupo. Ela pode ser usada apenas com números de nível começando de 02 a 49.

  • O OCCURS não pode ser definido para um item de dado que:

    1. Tem um número de nível de 01, 66, 77 ou 88.

    2. Descreve um item de dados redefinido

  • As cláusulas REDEFINES e OCCURS não podem aparecer para o mesmo item de dados. No entanto, a cláusula REDEFINES pode aparecer para um item de grupo cujo subitem contém a cláusula OCCURS.

  • A cláusula VALUE não pode ser especificada para o nome de dados associado definido com a cláusula OCCURS ou qualquer subitem da cláusula OCCURS.

  • As tabelas podem ser de Comprimento Fixo ou Comprimento Variável.


Exemplo para tabela unidimensional e bidimensional é o seguinte:
  1. Tabela Unidimensional

    01 WS-TABLE.
       05 WS-A PIC A(12) VALUE 'BOMDIA' OCCURS 5 TIMES.

    WS-TABLE terá o seguinte valor

    "BOMDIA BOMDIA BOMDIA BOMDIA BOMDIA "

  2. Tabela Bidimensaional

    01 WS-TABLE.
       05 WS-A OCCURS 2 TIMES.
    	  10 WS-B PIC A(05) VALUE 'BOM '.
    	  10 WS-C OCCURS 2 TIMES.
    	     15 WS-D PIC X(8) VALUE 'DIA '.
    

    WS-TABLE terá o seguinte valor

    "BOM DIA BOM DIA BOM DIA "

COBOL também permite tabelas que ocorrem um número variável de vezes, dependendo do valor em algum outro campo. Isso é semelhante à cláusula COBOL OCCURS, exceto que o número de vezes que ocorre varia de registro para registro.

Discutiremos a tabela de comprimento variável no próximo capítulo.