Pessoal, Alguém sabe como alterar o formato de display (FRAME) de campo numérico em tempo de execução, ou seja, possuo em um campo de tabela o formato do campo numérico ("9999",">,>>9.99",">>>>9","99999", etc), e em tempo de execução deverei exibir e modificar referido campo no formato informado.
Testa aí se é isto que deseja: Código: def var de-valor as decimal no-undo init "12345.67". def var i-format as integer init 1 no-undo. session:data-entry-return = yes. def var c-format as character init "zzzzz9.99;zzz,zz9.99;999,999.99;999999.99". repeat: update de-valor label "Valor" i-format label "Formato" with 1 columns. assign de-valor:format = entry(i-format,c-format,";"). disp de-valor. end.
Eduardo, obrigado pela resposta, porém, encontrei uma maneira utilizando HANDLE, que acredito que seja mais prático, porém o comando deve ser feito antes de exibir/alterar, de maneira que a exibição e alteração ficam iguais, segue abaixo comando: <campo-da-tela>:HANDLE:FORMAT = <formato>. Exemplo utilização: DEF VAR de-valor AS DECIMAL NO-UNDO. DEF VAR i-format AS INTEGER. DEF VAR c-format AS CHAR EXTENT 4 INIT [">>>>9","9999",">,>>9.9",">>>>,>>9.9999"]. DEF FRAME f-main de-valor LABEL "Valor" WITH 1 COLUMN WIDTH 80. DO i-format = 1 TO 4: ASSIGN de-valor:HANDLE:FORMAT = c-format[i-format]. UPDATE de-valor WITH FRAME f-main. END. Abraços.