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:
- Tem um número de nível de 01, 66, 77 ou 88.
- 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:
- 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 " |
- 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.