COBOL - Coding your program - Displaying numeric data



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

COBOL - Codificando seu programa - Exibindo dados numéricos
Enterprise COBOL for z/OS, Version 4.2

Você pode definir itens numéricos com certos símbolos de edição (como pontos decimais, vírgulas, cifrões e sinais de débito ou crédito) para tornar os itens mais fáceis de ler e entender quando você os exibe ou imprime.

Por exemplo, no código abaixo, o preço editado é um item editado numérico que possui USAGE DISPLAY.
(Você pode especificar a cláusula USAGE IS DISPLAY para itens editados numéricos; no entanto, está implícita.
Significa que os itens são armazenados em formato de caractere.)

           05  PRICE          PIC     9(5)V99.
           05  EDITED-PRICE   PIC  $ZZ,ZZ9.99.
           . . .
           MOVE PRICE TO EDITED-PRICE
           DISPLAY EDITED-PRICE

Se o conteúdo de Price for 0150099 (representando o valor 1.500,99), $ 1.500,99 será exibido quando você executar o código.
O z na cláusula PICTURE do preço de edição indica a supressão dos zeros à esquerda.

Você pode definir itens de dados editados numéricos para conter caracteres nacionais (UTF-16) em vez de caracteres alfanuméricos.
Para isso, declare os itens editados numéricos como USAGE NATIONAL.
O efeito dos símbolos de edição é o mesmo para itens editados numéricos com USAGE NATIONAL e para itens editados com USAGE DISPLAY, exceto que a edição é feita com caracteres nacionais.
Por exemplo, se o preço editado for declarado como USAGE NATIONAL no código acima, o item será editado e exibido usando caracteres nacionais.

Para exibir itens de dados numéricos ou editados numéricos que possuem USAGE NATIONAL em EBCDIC, direcione-os para CONSOLE.
Por exemplo, se o preço editado no código acima tiver USAGE NATIONAL, $ 1.500,99 será exibido quando você executar o programa se a última declaração acima for:


           DISPLAY EDITED-PRICE UPON CONSOLE

Você pode fazer com que um item numérico elementar ou editado numérico seja preenchido com espaços quando um valor zero é armazenado nele, codificando a cláusula BLANK WHEN ZERO para o item.
Por exemplo, cada uma das instruções DISPLAY abaixo faz com que espaços em branco sejam exibidos em vez de zeros:

           05 PRICE           PIC     9(5)V99.
           05 EDITED-PRICE-D  PIC  $99,999.99                BLANK WHEN ZERO.
           05 EDITED-PRICE-N  PIC  $99,999.99 USAGE NATIONAL BLANK WHEN ZERO.
           . . .  
           MOVE 0 TO PRICE
           MOVE PRICE TO EDITED-PRICE-D
           MOVE PRICE TO EDITED-PRICE-N
           DISPLAY EDITED-PRICE-D
           DISPLAY EDITED-PRICE-N UPON CONSOLE

Você não pode usar itens editados numéricos como operandos de envio em expressões aritméticas ou em instruções ADD, SUBTRACT, MULTIPLY, DIVIDE ou COMPUTE.
(A edição numérica ocorre quando um item editado numérico é o campo de recebimento de uma dessas instruções, ou quando uma instrução MOVE tem um campo de recebimento editado numérico e um campo de envio editado numérico ou numérico.)
Você usa itens editados numéricos. principalmente para exibir ou imprimir dados numéricos.

Você pode mover itens editados numéricos para itens numéricos ou editados numéricos.
No exemplo a seguir, o valor do item editado numérico (seja ele USAGE DISPLAY ou USAGE NATIONAL) é movido para o item numérico:

           MOVE EDITED-PRICE TO PRICE
           DISPLAY PRICE

Se essas duas declarações seguirem imediatamente as declarações do primeiro exemplo acima, então Preço seria exibido como 0150099, representando o valor 1.500,99.
O preço também seria exibido como 0150099 se o preço editado tivesse USAGE NATIONAL.

Você também pode mover itens editados numéricos para itens de dados alfanuméricos, alfanuméricos editados, de ponto flutuante e nacionais.
Para obter uma lista completa dos itens de recebimento válidos para dados editados numéricos, consulte a referência relacionada sobre a instrução MOVE.

Examples: numeric data and internal representation - Exemplos: dados numéricos e representação interna



© Copyright IBM Corp.