Sintaxe
TRANSFORM( <expressão>, <expressão caracter> )
Propósito
Converte qualquer valor para uma cadeia de caracteres formatada.
Argumentos
<expressão>
Define uma expressão que resulta num valor do tipo caracter, data, numérico ou lógico e que será convertido para caracter e formatado.
<expressão caracter>
Define o formato da cadeia de caracteres resultante, de acordo com as máscaras e funções de formatação da cláusula PICTURE das funções de interface de telas, como MSGET, etc.
Utilização
A função TRANSFORM() deve ser utilizada sempre que for conveniente a formatação de dados sem a utilização das funções de interface de tela (MSGET, etc.) e da cláusula PICTURE. Por exemplo, para a impressão de informações nos relatórios. Porém, como a função TRANSFORM() fornece uma cadeia de caracteres, o resultado dela não permite que os totais e subtotais dos relatórios sejam formatados. Para isso, será necessário utilizar as variáveis numéricas originais.
As máscaras e as funções de formatação que podem ser utilizadas pela função TRANSFORM(), especificadas através da expressão caracter, são as mesmas disponíveis para a cláusula PICTURE das funções de interface de tela (MSGET, etc.).
Exemplos
TRANSFORM(“maiúscula”, “@!”) // Resulta: “MAIÚSCULA”
TRANSFORM(1234.54, “@E 999.999,99”) // Resulta: 1.234,54
TRANSFORM(1234, “@E 999.999,99”) // Resulta: 1.234,00
TRANSFORM(“advpl”, “!!!!!”) // Resulta: “ADVPL”
TRANSFORM(“AdvPL”, “@R X X X X X”) // Resulta: “A D V P L”