Enterprise COBOL for z/OS, V4.2, Language Reference
A condição de classe determina se o conteúdo de um item de dados é alphabetic, alphabetic-lower, alphabetic-upper, numeric, DBCS, KANJI, ou contém apenas os
caracteres no conjunto de caracteres especificado pela cláusula CLASS, conforme definido nos SPECIAL-NAMES parágrafo da ENVIRONMENT DIVISION.
- identifier-1
- É necessário fazer referência a um item de dados descrito com um dos seguintes usos:
- DISPLAY, NATIONAL, COMPUTATIONAL-3, ou PACKED-DECIMAL quando NUMERIC for especificado
- DISPLAY-1 quando DBCS ou KANJI for especificado
- DISPLAY ou NATIONAL quando ALPHABETIC, ALPHABETIC-UPPER, ou ALPHABETIC-LOWER for especificado
- DISPLAY quando class-name for especificado
Não deve ser da classe alfabética quando NUMERIC é especificado.
Não deve ser da classe numérica quando ALPHABETIC, ALPHABETIC-UPPER, ou ALPHABETIC-LOWER é especificado.
A Tabela 1, abaixo, lista as formas de condição de classe que são válidas para cada tipo de identificador.
Se o identifier-1 for um identificador de função, ele deverá fazer referência a uma função alfanumérica ou national.
Um item de grupo alfanumérico pode ser usado em uma condição de classe em que um item alfanumérico elementar pode ser usado, exceto que a condição de classe
NUMERIC não pode ser usada se o grupo contiver um ou mais itens elementares assinados.
Quando o identifier-1 é descrito com o uso NATIONAL, a condição de classe testa a representação de caracteres nacionais dos caracteres associados à
classe de caracteres especificada.
Por exemplo, especificando uma condição de classe do formulário IF o item nacional IS ALPHABETIC é um teste para as letras minúsculas e maiúsculas A maiúscula
latina A a Z maiúscula latina Z e o espaço, conforme representado em caracteres nacionais.
Especificando IF o item nacional for NUMERIC é um teste para os caracteres de 0 a 9.
- NOT
- Quando usado, NOT e a próxima palavra-chave definem o teste de classe a ser executado para o valor de verdade.
Por exemplo, NOT NUMERIC é um teste de verdade para determinar que o resultado de um teste de classe NUMERIC é falso (em outras palavras, o item contém dados
que não são numéricos).
- NUMERIC
- identifier-1 consiste inteiramente nos caracteres de 0 a 9, com ou sem um sinal operacional.
Se seu PICTURE não contiver um sinal operacional, o identificador que está sendo testado será determinado como numérico apenas se o conteúdo for numérico e um
sinal operacional não estiver presente.
Se seu PICTURE contiver um sinal operacional, o identificador que está sendo testado será determinado como numérico apenas se o item for um item elementar, o
conteúdo for numérico e um sinal operacional válido estiver presente.
Nota de uso: Sinais operacionais válidos são determinados a partir da configuração da opção de instalação NUMCLS e da opção do compilador NUMPROC.
Para obter mais informações, consulte Verificando dados incompatíveis (teste de classe numérica) no Enterprise COBOL Programming Guide .
- ALPHABETIC
- O identifier-1 consiste inteiramente em qualquer combinação dos caracteres alfabéticos latinos em minúsculas ou maiúsculas de A a Z e no espaço.
ALPHABETIC-LOWER
- O identifier-1 consiste inteiramente em qualquer combinação dos caracteres alfabéticos latinos minúsculos de a a z e do espaço.
- ALPHABETIC-UPPER
- O identifier-1 consiste inteiramente em qualquer combinação dos caracteres alfabéticos latinos maiúsculos A a Z e do espaço.
- class-name
- O identifier-1 consiste inteiramente nos caracteres listados na definição do nome da classe no parágrafo SPECIAL-NAMES.
- DBCS
- O identifier-1 consiste inteiramente em caracteres DBCS.
Uma verificação de faixa é realizada no item para uma representação válida de caracteres.
O intervalo válido é X'41 'a X'FE' para ambos os bytes de cada caractere DBCS e X'4040 'para o espaço em branco do DBCS.
- KANJI
- O identifier-1 consiste inteiramente em caracteres DBCS.
Uma verificação de faixa é realizada no item para uma representação válida de caracteres.
O intervalo válido é de X'41 'a X'7E' para o primeiro byte, de X'41 'a X'FE' para o segundo byte e X'4040 'para o DBCS em branco.
Tabela 1. Formulários válidos da condição de classe para diferentes tipos de itens de dados
| Tipo de item de dados referenciado pelo identifier-1 |
Formulários válidos da condição de classe |
| Alphabetic |
ALPHABETIC ALPHABETIC-LOWER ALPHABETIC-UPPER class-name |
NOT ALPHABETIC NOT ALPHABETIC-LOWER NOT ALPHABETIC-UPPER NOT class-name |
Alphanumeric, alphanumeric-edited or numeric-edited |
ALPHABETIC ALPHABETIC-LOWER ALPHABETIC-UPPER NUMERIC class-name |
NOT ALPHABETIC NOT ALPHABETIC-LOWER NOT ALPHABETIC-UPPER NOT NUMERIC NOT class-name |
External-decimal or internal-decimal |
NUMERIC |
NOT NUMERIC |
| DBCS |
DBCS KANJI |
NOT DBCS NOT KANJI |
| National |
NUMERIC ALPHABETIC ALPHABETIC-LOWER ALPHABETIC-UPPER |
NOT NUMERIC NOT ALPHABETIC NOT ALPHABETIC-LOWER NOT ALPHABETIC-UPPER |
| Numeric |
NUMERIC class-name |
NOT NUMERIC NOT class-name |
© Copyright IBM Corp.
|