Enterprise COBOL for z/OS, V4.2, Language Reference
Os dados são organizados em ordem crescente ou decrescente, dependendo da palavra-chave especificada, de acordo com os valores contidos em data-name-2.
Os nomes dos dados são listados em sua ordem decrescente de significância.
A ordem é determinada pelas regras de comparação de operandos
(consulte Relation conditions - Condições de relação ).
Os itens de dados ASCENDING KEY e DESCENDING KEY são usados nas cláusulas OCCURS e na instrução SEARCH ALL para uma pesquisa binária do elemento da tabela.
- data-name-2
- Deve ser o nome da entrada do assunto ou o nome de uma entrada subordinada à entrada do assunto.
data-name-2 não pode ser um campo de data em janela.Se data-name-2 nomear a entrada do assunto, essa entrada inteira se tornará a ASCENDING KEY ou DESCENDING KEY e será a única chave que pode ser especificada
para este elemento da tabela.
Se data-name-2 não nomear a entrada do assunto, data-name-2 então:
- Deve estar subordinado ao assunto da própria entrada da tabela
- Não deve estar subordinado a, ou seguir, qualquer outra entrada que contenha uma cláusula OCCURS
- Não deve conter uma cláusula OCCURS
data-name-2 não deve ter itens subordinados que contenham cláusulas OCCURS DEPENDING ON.
Quando a frase ASCENDING KEY ou DESCENDING KEY é especificada, as seguintes regras se aplicam:
- As chaves devem ser listadas em ordem decrescente de significância.
- O número total de chaves para um determinado elemento da tabela não deve exceder 12.
- Os dados na tabela devem ser organizados em sequência ascendente ou descendente de acordo com a sequência de intercalação em uso.
- The key must be described with one of the following usages:
- BINARY
- DISPLAY
- DISPLAY-1
- NATIONAL
- PACKED-DECIMAL
- COMPUTATIONAL
- COMPUTATIONAL-1
- COMPUTATIONAL-2
- COMPUTATIONAL-3
- COMPUTATIONAL-4
- COMPUTATIONAL-5
- Uma chave descrita com o uso NATIONAL pode ter uma das seguintes categorias: ponto flutuante nacional, editado nacional, editado numérico, numérico ou externo.
- A soma dos comprimentos de todas as chaves associadas a um elemento da tabela não deve exceder 256.
- Se uma chave for especificada sem qualificadores e não for um nome exclusivo, a chave será implicitamente qualificada com o assunto da cláusula OCCURS e todos
os qualificadores do assunto da cláusula OCCURS.
O exemplo a seguir ilustra a especificação dos itens de dados ASCENDING KEY:
WORKING-STORAGE SECTION.
01 TABLE-RECORD.
05 EMPLOYEE-TABLE OCCURS 100 TIMES
ASCENDING KEY IS WAGE-RATE EMPLOYEE-NO
INDEXED BY A, B.
10 EMPLOYEE-NAME PIC X(20).
10 EMPLOYEE-NO PIC 9(6).
10 WAGE-RATE PIC 9999V99.
10 WEEK-RECORD OCCURS 52 TIMES
ASCENDING KEY IS WEEK-NO INDEXED BY C.
15 WEEK-NO PIC 99.
15 AUTHORIZED-ABSENCES PIC 9.
15 UNAUTHORIZED-ABSENCES PIC 9.
15 LATE-ARRIVALS PIC 9.
As chaves para EMPLOYEE-TABLE estão subordinadas a essa entrada e a chave para WEEK-RECORD está subordinada a essa entrada subordinada.
No exemplo anterior, os registros em EMPLOYEE-TABLE devem ser organizados em ordem crescente de WAGE-RATE e em ordem crescente de EMPLOYEE-NO dentro de WAGE-RATE.
Os registros em WEEK-RECORD devem ser organizados em ordem crescente de WEEK-NO.
Caso contrário, os resultados de qualquer instrução SEARCH ALL são imprevisíveis.
© Copyright IBM Corp.