COBOL - DATA DIVISION - DDE - PICTURE - Zero suppression and replacement editing



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

COBOL - DATA DIVISION - data description entry - PICTURE - Zero suppression and replacement editing
Enterprise COBOL for z/OS, V4.2, Language Reference

Este tipo de edição é válido apenas para itens editados numéricos.

Na edição de supressão de zero, os símbolos Z e * são usados.
Esses símbolos são mutuamente exclusivos em uma cadeia de caracteres PICTURE.

Os seguintes símbolos são mutuamente exclusivos como símbolos de substituição flutuantes em uma cadeia de caracteres PICTURE:

Z * + - cs

Especifique a supressão de zero e a edição de substituição com uma sequência de um ou mais dos símbolos permitidos para representar as posições dos caracteres mais à esquerda nas quais a supressão de zero e a edição de substituição podem ser executadas.

Quaisquer símbolos simples de inserção (B 0 /,) dentro ou imediatamente à direita da sequência de símbolos flutuantes de edição são considerados parte da sequência.
Se o símbolo de inserção especial de ponto final (.) Estiver incluído na cadeia de edição flutuante, ele será considerado parte da cadeia de caracteres.

Representando a supressão de zero

Em uma cadeia de caracteres PICTURE, há duas maneiras de representar a supressão de zero e duas maneiras pelas quais a edição é executada:

  1. Qualquer uma ou todas as posições de caracteres numéricos à esquerda do ponto decimal são representadas por símbolos de supressão.
    Quando a edição é realizada, o caractere de substituição substitui qualquer zero inicial nos dados que aparecem na mesma posição de caractere que um símbolo de supressão.
    A supressão para no caracter mais à esquerda:
    • Isso não corresponde a um símbolo de supressão
    • Que contém dados diferentes de zero
    • Esse é o ponto decimal

  2. Todas as posições de caracteres numéricos na cadeia de caracteres PICTURE são representadas pelos símbolos de supressão.
    Quando a edição é realizada e o valor dos dados é diferente de zero, o resultado é o mesmo da regra anterior.
    Se o valor dos dados for zero, então:
    • Se Z tiver sido especificado, o item de dados inteiro conterá espaços.
    • Se * foi especificado, o item de dados inteiro, exceto o ponto decimal real, conterá asteriscos.

Por exemplo:

PICTURE Valor dos dados Resultado editado
****.** 0000.00 ****.**
ZZZZ.ZZ 0000.00 brancos
ZZZZ.99 0000.00 .00
****.99 0000.00 ****.00
ZZ99.99 0000.00 00.00
Z,ZZZ.ZZ+ +123.456 123.45+
*,***.**+ -123.45 **123.45-
**,***,***.**+ +12345678.9 12,345,678.90+
$Z,ZZZ,ZZZ.ZZCR +12345.67 $ 12,345.67
$B*,***,***.**BBDB -12345.67 $ ***12,345.67 DB

Não especifique o asterisco (*) como símbolo de supressão e a cláusula BLANK WHEN ZERO para a mesma entrada.



© Copyright IBM Corp.