* Bom dia, hoje vou mostrar um classe que mostra detalhes sobre o tipo
* da declaração como tamanho, tipo e mais algumas coisas, no exemplo
* abaixo estarei usando o método 'describe_by_data' mas se vc for na
* Transação se24 e colocar a classe lah, verá que existe outros metodos
* tão importante quanto, t+.
*&---------------------------------------------------------------------*
REPORT z_describe_by_data.
* Declarações
TYPES ty_tipo TYPE i.
DATA: vg_variavel TYPE ty_tipo,
ref_descricao TYPE REF TO cl_abap_typedescr.
* Início do processo
START-OF-SELECTION.
* Eu deixei um código comentado abaixo para vocês fazerem o teste com
* outra variável.
ref_descricao = cl_abap_typedescr=>describe_by_data( vg_variavel ).
* ref_descricao = cl_abap_typedescr=>describe_by_data( ref_descricao ).
BREAK-POINT.
WRITE: / 'Referência:', ref_descricao->absolute_name.
WRITE: / 'Tipo :', ref_descricao->type_kind.
WRITE: / 'Tamanho :', ref_descricao->length.
WRITE: / 'Decimais :', ref_descricao->decimals.
BREAK-POINT.