COBOL - Conditional expressions - Class condition



Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com

COBOL - Conditional expressions - Class condition
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.