COBOL - Using currency signs



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

COBOL - Using currency signs
Enterprise COBOL for z/OS, V4.2, Language Reference

Muitos programas precisam processar informações financeiras e apresentá-las usando os sinais de moeda apropriados.
Com o suporte de moeda COBOL (e a página de código apropriada para sua impressora ou unidade de exibição), você pode usar vários sinais de moeda em um programa.

Você pode usar um ou mais dos seguintes sinais:

  • Símbolos como o cifrão ($)
  • Sinais de moeda com mais de um caractere (como USD ou EUR)
  • Símbolo do Euro, estabelecido pela União Econômica e Monetária (UEM)

Para especificar os símbolos para exibição de informações financeiras, use a cláusula CURRENCY SIGN (no parágrafo SPECIAL-NAMES na seção CONFIGURATION) com os caracteres PICTURE relacionados a esses símbolos.
No exemplo a seguir, o caractere PICTURE $ indica que o sinal de moeda $ US deve ser usado:

    Currency Sign is "$US" with Picture Symbol "$".
    . . .
77  Invoice-Amount      Pic $$,$$9.99.
. . .
    Display "Invoice amount is " Invoice-Amount.

Neste exemplo, se o valor da fatura contiver 1500,00, a saída de exibição será:

Invoice amount is  $US1,500.00

Ao usar mais de uma cláusula CURRENCY SIGN no seu programa, você pode permitir a exibição de vários sinais de moeda.

Você pode usar um literal hexadecimal para indicar o valor do sinal de moeda.
O uso de um literal hexadecimal pode ser útil se o método de entrada de dados para o programa de origem não permitir a entrada dos caracteres pretendidos facilmente.
O exemplo a seguir mostra o valor hexadecimal X'9F 'usado como sinal de moeda:

    Currency Sign X'9F' with Picture Symbol 'U'.
    . . .
01  Deposit-Amount       Pic UUUUU9.99.

Se não houver um caractere correspondente para o sinal do euro no teclado, você precisará especificá-lo como um valor hexadecimal na cláusula CURRENCY SIGN.
O valor hexadecimal do símbolo do euro é X'9F 'ou X'5A', dependendo da página de código em uso, conforme mostrado na tabela a seguir.

Tabela 1. Valores hexadecimais do símbolo do euro

Página de código CCSID Países aplicáveis Modificado de Sinal euro
1140 USA, Canada, Netherlands, Portugal, Australia, New Zealand 037 X'9F'
1141 Austria, Germany 273 X'9F'
1142 Denmark, Norway 277 X'5A'
1143 Finland, Sweden 278 X'5A'
1144 Italy 280 X'9F'
1145 Spain, Latin America - Spanish 284 X'9F'
1146 UK 285 X'9F'
1147 France 297 X'9F'
1148 Belgium, Canada, Switzerland 500 X'9F'
1149 Iceland 871 X'9F'


© Copyright IBM Corp.