SAP ABAP - Formatando Dados
ABAP oferece vários tipos de opções de formatação para formatar a saída de programas. Por exemplo, você pode criar uma lista que inclui vários itens em diferentes cores ou estilos de formatação.
A instrução WRITE é uma instrução de formatação usada para exibir dados em uma tela. Existem diferentes opções de formatação para a instrução WRITE. A sintaxe da instrução WRITE é -
WRITE <format> <f> <options>.
Nesta sintaxe, <formato> representa a especificação do formato de saída, que pode ser uma barra (/) que indica a exibição da saída a partir de uma nova linha. Além da barra, a especificação do formato inclui um número e comprimento de coluna. Por exemplo, a instrução WRITE / 04 (6) mostra que uma nova linha começa com a coluna 4 e o comprimento da coluna é 6, enquanto a instrução WRITE 20 mostra a linha atual com a coluna 20. O parâmetro <f> representa uma variável de dados ou texto numerado.
A tabela a seguir descreve várias cláusulas usadas para formatação -
S.No. | Cláusula e descrição |
---|---|
1 | LEFT-JUSTIFIED Especifica que a saída é justificada à esquerda. |
2 | CENTERED Indica que a saída está centralizada. |
3 | RIGHT-JUSTIFIED Especifica que a saída é justificada à direita. |
4 | UNDER <g> A saída começa diretamente no campo <g>. |
5 | NO-GAP Especifica que o espaço em branco após o campo <f> é rejeitado. |
6 | USING EDIT MASK <m> Denota a especificação do modelo de formato <m>. Usando No EDIT Mask: especifica que o modelo de formato especificado no dicionário ABAP está desativado. |
7 | NO-ZERO Se um campo contém apenas zeros, eles são substituídos por espaços em branco. |
A seguir estão as opções de formatação para os campos de Tipo Numérico -
S.No. | Cláusula e descrição |
---|---|
1 | NO-SIGN Especifica que nenhum sinal à esquerda é exibido na tela. |
2 | EXPONENT <e> Especifica que no tipo F (os campos de ponto flutuante), o expoente é definido em <e>. |
3 | ROUND <r> Os campos do tipo P (tipos de dados numéricos compactados) são primeiro multiplicados por 10 ** (- r) e, em seguida, arredondados para um valor inteiro. |
4 | CURRENCY <c> Indica que a formatação é feita de acordo com o valor da moeda <c> que está armazenado na tabela do banco de dados TCURX. |
5 | UNIT <u> Especifica que o número de casas decimais é fixo de acordo com a unidade <u>, conforme especificado na tabela de banco de dados T006 para o tipo P. |
6 | DECIMALS <d> Especifica que o número de dígitos <d> deve ser exibido após o ponto decimal. |
Por exemplo, a tabela a seguir mostra diferentes opções de formatação para os campos de data -
Opção de Formatação | Exemplo |
---|---|
DD / MM / AA | 13/01/15 |
MM / DD / AA | 13/01/15 |
DD / MM / AAAA | 13/01/2015 |
MM / DD / AAAA | 13/01/2015 |
DDMMAA | 130115 |
MMDDAA | 011315 |
AAMMDD | 150113 |
Aqui, DD significa a data em dois dígitos, MM significa o mês em dois dígitos, YY significa o ano em dois dígitos e AAAA significa o ano em quatro dígitos.
Vamos dar uma olhada em um exemplo de código ABAP que implementa algumas das opções de formatação acima -
REPORT ZTest123_01.
DATA: n(9) TYPE C VALUE 'Tutorials',
m(5) TYPE C VALUE 'Point'.
WRITE: n, m.
WRITE: / n,
/ m UNDER n.
WRITE: / n NO-GAP, m.
DATA time TYPE T VALUE '112538'.
WRITE: / time,
/(8) time Using EDIT MASK '__:__:__'.
O código acima produz a seguinte saída -
Tutorials Point
Tutorials
Point
TutorialsPoint
112538
11:25:38