COBOL - Figurative constants - www.cadcobol.com.br
Enterprise COBOL for z/OS, V4.2, Language Reference
Constantes figurativas (Figurative constants) são palavras reservadas que nomeiam e se referem a valores constantes específicos. As palavras reservadas para constantes figurativas e seus significados estão listadas nesta seção.
HIGH-VALUE é tratado como um literal alfanumérico em um contexto que requer um caractere alfanumérico. Para dados alfanuméricos com a sequência de intercalação EBCDIC, o valor é X'FF '. Para outros dados alfanuméricos, o valor depende da sequência de intercalação em vigor.
HIGH-VALUE é tratado como um literal national quando usado em um contexto que requer um literal national. O valor é o caractere national NX'FFFF'.
Quando o contexto não pode ser determinado, um contexto alfanumérico é assumido e o valor X'FF 'é usado.
Nota de uso: Você não deve usar HIGH-VALUE (ou um valor atribuído a HIGH-VALUE) de uma maneira que resulte na conversão entre uma representação de dados e outra. X'FF 'não representa um caractere EBCDIC válido e NX'FFFF' não representa um caractere national válido. A conversão da representação alfanumérica ou national de ALTO VALOR em outra representação resulta em um caractere de substituição. Por exemplo, a conversão de X'FF 'em UTF-16 daria um caractere de substituição, não NX'FFFF'.
LOW-VALUE é tratado como um literal alfanumérico em um contexto que requer um caractere alfanumérico. Para dados alfanuméricos com a sequência de intercalação EBCDIC, o valor é X'00 '. Para outros dados alfanuméricos, o valor depende da sequência de intercalação em vigor.
LOW-VALUE é tratado como um literal national quando usado em um contexto que requer um literal national. O valor é o caractere national NX'0000 '.
Quando o contexto não pode ser determinado, um contexto alfanumérico é assumido e o valor X'00 'é usado.
QUOTE ou QUOTEA representa um caractere alfanumérico quando usado em um contexto que requer um caractere alfanumérico e representa um caractere national quando usado em um contexto que requer um caractere national. O valor do caractere national das aspas é NX'0022 '. O valor do caractere national do apóstrofo é NX'0027 '.
QUOTE e QUOTES não podem ser usadas no lugar de aspas ou apóstrofo para incluir um literal alfanumérico.
Quando literal não é uma constante figurativa, ALL literal representa uma ou mais ocorrências da cadeia de caracteres que compõem o literal.
Quando literal é uma constante figurativa, a palavra ALL não tem significado e é usada apenas para facilitar a leitura.
A constante figurativa ALL literal não deve ser usada com as instruções CALL, INSPECT, INVOKE, STOP ou STRING.
caractere simbólico sempre representa um caracter alfanumérico; ele pode ser usado em um contexto que requer um caractere national somente quando a conversão implícita de caracteres alfanuméricos em caracteres nacionais é definida. (Ele pode ser usado, por exemplo, em uma instrução MOVE em que o item de recebimento é da classe national porque a conversão implícita é definida quando o item de envio é alfanumérico e o item de recebimento é national.)
As formas singular e plural de NULL, ZERO, SPACE, HIGH VALUE, LOW VALUE e QUOTE podem ser usadas de forma intercambiável. Por exemplo, se DATA-NAME-1 é um item de dados de cinco caracteres, cada uma das seguintes instruções move cinco espaços para DATA-NAME-1:
MOVE SPACE TO DATA-NAME-1 MOVE SPACES TO DATA-NAME-1 MOVE ALL SPACES TO DATA-NAME-1
Quando as regras do COBOL permitem a ortografia de um nome de constante figurativa, qualquer ortografia alternativa desse nome de constante figurativa pode ser especificada.
Você pode usar uma constante figurativa sempre que literal aparecer em um diagrama de sintaxe, exceto onde explicitamente proibido. Quando um literal numérico aparece em um diagrama de sintaxe, somente a constante figurativa ZERO (ou ZEROS ou ZEROES) pode ser usada. Constantes figurativas não são permitidas como argumentos de função, exceto em uma expressão aritmética, em que a expressão é um argumento para uma função.
O comprimento de uma constante figurativa depende do contexto de seu uso. As seguintes regras se aplicam: