COBOL - DATA DIVISION - DDE - Symbols used in the PICTURE clause



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

COBOL - DATA DIVISION - data description entry - Symbols used in the PICTURE clause
Enterprise COBOL for z/OS, V4.2, Language Reference

Qualquer caracter de pontuação que aparece na cadeia de caracteres (character-string) PICTURE não é considerado um caracter de pontuação, mas é um símbolo da cadeia de caracteres PICTURE.

Quando especificado no parágrafo SPECIAL-NAMES, DECIMAL-POINT IS COMMA troca as funções do ponto e da vírgula nas seqüências de caracteres PICTURE e em literais numéricos.

As letras minúsculas que correspondem às letras maiúsculas que representam os seguintes símbolos PICTURE são equivalentes às suas representações maiúsculas em uma cadeia de caracteres (character-string) PICTURE:

   A, B, E, G, N, P, S, V, X, Z, CR, DB

Todas as outras letras minúsculas não são equivalentes às representações maiúsculas correspondentes.

A Tabela 1 define o significado de cada símbolo da cláusula PICTURE.
O cabeçalho Size indica como o item é contado na determinação do número de posições de caracteres no item.
O tipo de posição do caractere depende da cláusula USAGE especificada para o item, da seguinte maneira:

Uso Tipo de posição dos caracteres Número de bytes por caracter
DISPLAY Alphanumeric 1
DISPLAY-1 DBCS 2
NATIONAL National 2
Todos os outros Conceptual Não aplicável

Tabela 1. Significados dos símbolos da cláusula PICTURE

Símbolo Significado Tamanho
A Uma posição de caracter que pode conter apenas uma letra do alfabeto latino ou um espaço. Cada 'A' é contado como uma posição de caracter no tamanho do item de dados.
B Para uso em DISPLAY, uma posição de caracter na qual um espaço alfanumérico é inserido.

Para uso DISPLAY-1, uma posição de caracter na qual um espaço DBCS é inserido.

Para uso NATIONAL, uma posição de caracter na qual um espaço nacional é inserido.

Cada 'B' é contado como uma posição de caracter no tamanho do item de dados.
E Marca o início do expoente em um item de ponto flutuante externo.
Para obter detalhes adicionais de itens de ponto flutuante externos, consulte Data categories and PICTURE rules - Categorias de dados e regras da PICTURE.
Cada 'E' é contado como uma posição de caracter no tamanho do item de dados.
G Uma posição de caracter DBCS. Cada 'G' é contado como uma posição de caracter no tamanho do item de dados.
N Uma posição de caracter DBCS quando especificada com o uso DISPLAY-1 ou quando o uso não for especificado e a opção do compilador NSYMBOL (DBCS) estiver em vigor.

Para categoria national, uma posição de caracter national quando especificada com o uso NATIONAL ou quando o uso não for especificado e a opção do compilador NSYMBOL (NATIONAL) estiver em vigor.

Para a categoria editada nacionalmente, uma posição de caractere national.

Cada 'N' é contado como uma posição de caracter no tamanho do item de dados.
P Uma posição de escala decimal assumida.
Usado para especificar a localização de um ponto decimal assumido quando o ponto não estiver dentro do número que aparece no item de dados.
Veja o símbolo P para mais detalhes.
Não é contado no tamanho do item de dados.
Os caracteres de posição de escala são contados na determinação do número máximo de posições de dígitos em itens editados numéricos ou em itens usados como operandos aritméticos.

O tamanho do valor é o número de posições de dígitos representadas pela cadeia de caracteres PICTURE.

S Um indicador da presença (mas não a representação e não necessariamente a posição) de um sinal operacional.
Um sinal operacional indica se o valor de um item envolvido em uma operação é positivo ou negativo.
Não é contado no tamanho do item elementar, a menos que uma cláusula SIGN associada especifique a frase SEPARATE CHARACTER (que seria contada como uma posição de caracter).
V Um indicador da localização do ponto decimal assumido.
Não representa uma posição de personagem.

Quando o ponto decimal assumido está à direita do símbolo mais à direita na string, o V é redundante.

Não é contado no tamanho do item elementar.
X Uma posição de caractere que pode conter qualquer caractere permitido do conjunto de caracteres alfanuméricos do computador. Cada 'X' é contado como uma posição de caracter no tamanho do item de dados.
Z Uma posição de caractere numérico inicial.
Quando essa posição contém um zero, um caractere de espaço substitui o zero.
Cada 'Z' é contado como uma posição de caracter no tamanho do item de dados.
9 Uma posição de caracter que contém um numeral. Cada nove especifica um dígito decimal no valor do item.
Para usos DISPLAY e NATIONAL, cada nove é contado como uma posição de caracter no tamanho do item de dados.
0 Uma posição de caracter na qual o número zero é inserido. Cada zero é contado como uma posição de caracter no tamanho do item de dados.
/ Uma posição de caracter na qual o caractere de barra é inserido. Cada caractere de barra é contado como uma posição de caracter no tamanho do item de dados.
, Uma posição de caracter na qual uma vírgula é inserida. Cada vírgula é contada como uma posição de caracter no tamanho do item de dados.
. Um símbolo de edição que representa o ponto decimal para fins de alinhamento.
Além disso, representa uma posição de caracter na qual um período é inserido.
Cada período é contado como uma posição de caracter no tamanho do item de dados.

+
-
CR
DB

Edição de símbolos de controle de sinal.
Cada um representa a posição do caracter na qual o símbolo de controle do sinal de edição é colocado.
Cada caracter usado no símbolo do sinal de edição é contado como uma posição de caracter no tamanho do item de dados.
* Um símbolo de proteção de verificação: uma posição de caracter numérico inicial na qual um asterisco é colocado quando essa posição contém um zero. Cada asterisco é contado como uma posição de caracter no tamanho do item.
cs cs pode ser qualquer símbolo monetário válido.
Um símbolo de moeda representa uma posição de caracter na qual um valor de sinal de moeda é colocado.
O símbolo da moeda padrão é o caracter atribuído ao valor X'5B 'na página de códigos em vigor no momento da compilação.
Neste documento, o símbolo da moeda padrão é representado pelo sinal de dólar ($) e cs representa qualquer símbolo de moeda válido.
Para detalhes, consulte Currency symbol - Símbolo de moeda..
A primeira ocorrência de um símbolo de moeda adiciona o número de caracteres no valor do sinal de moeda ao tamanho do item de dados.

Cada ocorrência subsequente adiciona uma posição de caractere ao tamanho do item de dados.

A figura a seguir mostra as seqüências nas quais os símbolos da imagem podem ser especificados para formar cadeias de caracteres da imagem.
Explicações mais detalhadas dos símbolos da cláusula PICTURE seguem a figura.

P symbol - Símbolo P

O símbolo P especifica uma posição de escala e implica um ponto decimal assumido (à esquerda do Ps se os Ps forem caracteres PICTURE mais à esquerda;
à direita do Ps se os Ps forem caracteres PICTURE mais à direita).
O símbolo de ponto decimal assumido V é redundante como o caractere mais à esquerda ou mais à direita dentro de uma descrição dessa PICTURE.

O símbolo P pode ser especificado apenas como uma sequência contínua de Ps nas posições dos dígitos mais à esquerda ou à direita dentro de uma sequência de caracteres PICTURE.

Em certas operações que referenciam um item de dados cuja cadeia de caracteres PICTURE contém o símbolo P, o valor algébrico do item de dados é usado em vez da representação real de caracteres do item de dados.
Este valor algébrico assume o ponto decimal no local prescrito e zero no lugar da posição do dígito especificada pelo símbolo P.
O tamanho do valor é o número de posições de dígitos representadas pela cadeia de caracteres PICTURE. Essas operações são uma das seguintes:

  • Qualquer operação que exija um operando de envio numérico
  • Uma instrução MOVE em que o operando de envio é numérico e sua cadeia de caracteres PICTURE contém o símbolo P
  • Uma instrução MOVE em que o operando de envio é editado numérico e sua cadeia de caracteres PICTURE contém o símbolo P, e o operando de recebimento é editado numérico ou numérico
  • Uma operação de comparação em que ambos os operandos são numéricos

Em todas as outras operações, as posições dos dígitos especificadas com o símbolo P são ignoradas e não são contadas no tamanho do operando.

Currency symbol - Símbolo monetário

O símbolo da moeda em uma seqüência de caracteres de imagem (character-string) é representado pelo símbolo da moeda padrão $ ou por um único caractere especificado na opção do compilador CURRENCY ou na cláusula CURRENCY SIGN no parágrafo da divisão de ambiente (ENVIRONMENT DIVISION).

Embora o símbolo da moeda padrão seja representado por $ neste documento, o símbolo da moeda padrão real é o caractere com o valor X'5B 'na página de código EBCDIC em vigor no momento da compilação.

Se a cláusula CURRENCY SIGN for especificada, as opções do compilador CURRENCY e NOCURRENCY serão ignoradas.
Se a cláusula CURRENCY SIGN não for especificada e a opção do compilador NOCURRENCY estiver em vigor, o cifrão ($) será usado como o valor padrão do sinal de moeda e o símbolo da moeda.

Para mais informações sobre a cláusula sinal de moeda, consulte CURRENCY SIGN clause - cláusula sinal de moeda .

Para obter mais informações sobre as opções do compilador CURRENCY e NOCURRENCY, consulte CURRENCY.

Um símbolo de moeda pode ser repetido na cadeia de caracteres PICTURE para especificar a inserção flutuante.
Símbolos de moeda diferentes não devem ser usados na mesma cadeia de caracteres PICTURE.

Diferentemente de todos os outros símbolos de imagem, os símbolos de moeda diferenciam maiúsculas de minúsculas.
Por exemplo, 'D' e 'd' especificam símbolos de moeda diferentes.

Um símbolo de moeda pode ser usado apenas para definir um item editado numérico com USAGE DISPLAY.



© Copyright IBM Corp.