PTOA: Como Converter um Número Decimal Compactado em Formato Alfanumérico

Como:

Linguagens Disponíveis: Reporting, Maintain

A função PTOA converte um número decimal compactado do formato numérico em formato alfanumérico. Retém as posições decimais do número e o justifica à direita com espaços. Você também pode adicionar opções de edição a um número convertido por PTOA.

Ao utilizar PTOA para converter um número contendo decimais em uma string de caracteres, você deve especificar um formato alfanumérico alto o suficiente para acomodar as porções de números inteiros e decimais do número. Por exemplo, um formato P12.2C é convertido em A14. Se o formato de saída não for alto o suficiente, os caracteres na extrema direita serão truncados.


Topo da página

x
Sintaxe: Como Converter um número decimal compactado para formato alfanumérico
PTOA(number, '(format)', output)

onde:

number

P Numérico (decimal compactado)

É o número a ser convertido ou o nome de um campo que contém a data.

formato

Alfanumérico

É o formato do número entre aspas simples e parênteses.

Apenas o formato compactado decimal é suportado. Inclua qualquer opção de edição que você deseja que apareça na saída.

O valor do formato não exige o mesmo comprimento ou número de casas decimais que o campo original. Se você alterar o número de casa decimais, o resultado será arredondado. Se você encurtar o comprimento ao ponto da parte inteira do número não caber, asteriscos aparecerão no lugar do número.

Se você utilizar um nome de campo para este argumento, especifique o nome sem as aspas ou parênteses. No entanto, o formato armazenado neste campo deve estar entre parênteses. Por exemplo:

FMT/A10 = '(P12.2C)';

Você pode, então, utilizar este campo como o argumento de formato quando utilizar a função na sua solicitação:

COMPUTE ALPHA_GROSS/A20 = PTOA(PGROSS, FMT, ALPHA_GROSS);
saída

Alfanumérico

É o nome do campo que contém o resultado ou o formato do valor de saída posto entre aspas simples. O comprimento deste argumento deve ser maior do que o comprimento do número e deve explicar as opções de edição e um possível sinal negativo.



Exemplo: Como Converter do Formato Compactado para o Alfanumérico

PTOA é chamado duas vezes para converter o campo PGROSS do formato compactado decimal para alfanumérico. O formato especificado na primeira chamada para a função é armazenado em um campo virtual de nome FMT. O formato especificado na segunda chamada para a função não inclui casas decimais, portanto, o valor é arredondado quando aparece:

DEFINE FILE EMPLOYEE
PGROSS/P18.2=GROSS;
FMT/A10='(P14.2C)';
END
TABLE FILE EMPLOYEE PRINT PGROSS NOPRINT
COMPUTE AGROSS/A17 = PTOA(PGROSS, FMT, AGROSS); AS ''
COMPUTE BGROSS/A37 = '<- THIS AMOUNT IS' |
                     PTOA(PGROSS, '(P5C)', 'A6') |
                     ' WHEN ROUNDED'; AS '' IN +1
BY HIGHEST 1 PAY_DATE NOPRINT
BY LAST_NAME NOPRINT
END

A saída é:

2,475.00 <- THIS AMOUNT IS 2,475 WHEN ROUNDED
1,815.00 <- THIS AMOUNT IS 1,815 WHEN ROUNDED
2,255.00 <- THIS AMOUNT IS 2,255 WHEN ROUNDED
  750.00 <- THIS AMOUNT IS   750 WHEN ROUNDED
2,238.50 <- THIS AMOUNT IS 2,239 WHEN ROUNDED
1,540.00 <- THIS AMOUNT IS 1,540 WHEN ROUNDED
1,540.00 <- THIS AMOUNT IS 1,540 WHEN ROUNDED
1,342.00 <- THIS AMOUNT IS 1,342 WHEN ROUNDED
1,760.00 <- THIS AMOUNT IS 1,760 WHEN ROUNDED
1,100.00 <- THIS AMOUNT IS 1,100 WHEN ROUNDED
  791.67 <- THIS AMOUNT IS   792 WHEN ROUNDED
  916.67 <- THIS AMOUNT IS   917 WHEN ROUNDED

Information Builders