DATA: my_ref TYPE p,"COLOCAR CUALQUIER TIPO
descr_ref TYPE REF TO cl_abap_typedescr."CLASE CONOCER DESCRIP
DATA: v_dinami TYPE REF TO data."MI DINAMICA
DATA: error TYPE REF TO cx_root.
DATA v_mensage TYPE string.
*ASIGNAR VARIABLE
descr_ref = cl_abap_typedescr=>describe_by_data( my_ref ).
TRY.
CASE descr_ref->type_kind.
WHEN 'D' OR 'T' OR 'I' OR 'F' OR 'STRING' OR 'XSTRING'.
CREATE DATA v_dinami TYPE (descr_ref->type_kind).
WHEN 'C' OR 'N' OR 'X'.
CREATE DATA v_dinami TYPE (descr_ref->type_kind) LENGTH descr_ref->length.
WHEN 'P'.
CREATE DATA v_dinami TYPE p LENGTH descr_ref->length DECIMALS descr_ref->decimals.
ENDCASE.
WRITE: / 'Tipo :', descr_ref->absolute_name.
WRITE: / 'Tipo :', descr_ref->type_kind.
WRITE: / 'Tamaño:', descr_ref->length.
WRITE: / 'Decimales:', descr_ref->decimals.
CATCH cx_root INTO error.
v_mensage = error->get_text( ).
* v_mensage = error->get_longtext( ).
WRITE : v_mensage.
ENDTRY.
descr_ref TYPE REF TO cl_abap_typedescr."CLASE CONOCER DESCRIP
DATA: v_dinami TYPE REF TO data."MI DINAMICA
DATA: error TYPE REF TO cx_root.
DATA v_mensage TYPE string.
*ASIGNAR VARIABLE
descr_ref = cl_abap_typedescr=>describe_by_data( my_ref ).
TRY.
CASE descr_ref->type_kind.
WHEN 'D' OR 'T' OR 'I' OR 'F' OR 'STRING' OR 'XSTRING'.
CREATE DATA v_dinami TYPE (descr_ref->type_kind).
WHEN 'C' OR 'N' OR 'X'.
CREATE DATA v_dinami TYPE (descr_ref->type_kind) LENGTH descr_ref->length.
WHEN 'P'.
CREATE DATA v_dinami TYPE p LENGTH descr_ref->length DECIMALS descr_ref->decimals.
ENDCASE.
WRITE: / 'Tipo :', descr_ref->absolute_name.
WRITE: / 'Tipo :', descr_ref->type_kind.
WRITE: / 'Tamaño:', descr_ref->length.
WRITE: / 'Decimales:', descr_ref->decimals.
CATCH cx_root INTO error.
v_mensage = error->get_text( ).
* v_mensage = error->get_longtext( ).
WRITE : v_mensage.
ENDTRY.
Salida Error.
Salida ok
No hay comentarios:
Publicar un comentario