Enterprise COBOL for z/OS, V4.2, Language Reference
A frase INDEXED BY especifica os índices que podem ser usados com uma tabela.
Uma tabela sem uma frase INDEXED BY pode ser referida através da indexação usando um nome de índice associado a outra tabela.
Consulte Subscripting using index-names (indexing).
Os índices normalmente são alocados na memória estática associada ao programa que contém a tabela.
Portanto, os índices estão no último estado usado quando um programa é reinserido.
No entanto, nos seguintes casos, os índices são alocados por invocação.
Portanto, você deve definir o valor do índice em cada entrada para índices em tabelas nas seguintes seções:
- A LOCAL-STORAGE SECTION
- A WORKING-STORAGE SECTION de uma definição de classe (variáveis de instância do objeto)
- A LINKAGE SECTION de:
- working-storage section
- Programas compilados com a cláusula RECURSIVE
- Programas compilados com a opção THREAD
Os índices especificados em um registro de dados externo não possuem o atributo externo.
- index-name-1
- Cada nome de índice especifica um índice a ser criado pelo compilador para uso pelo programa.
Esses nomes de índice não são nomes de dados e não são identificados em nenhuma outra parte do programa COBOL; em vez disso, eles podem ser considerados
registros especiais particulares apenas para o uso desse programa de objetos. Eles não são dados e não fazem parte de nenhuma hierarquia de dados.
Nomes de índice não referenciados não precisam ser definidos exclusivamente.
Em uma entrada da tabela, até 12 nomes de índice podem ser especificados.
Se um item de dados que possui o atributo global incluir uma tabela acessada com um índice, esse índice também possuirá o atributo global.
Portanto, o escopo de um nome de índice é o mesmo do nome de dados que nomeia a tabela na qual o índice está definido.
© Copyright IBM Corp.