martes, 5 de agosto de 2014

Variables Dinamicas (Tiempo de ejecución)


DATA:   my_ref TYPE p,"COLOCAR CUALQUIER TIPO
        descr_ref 
TYPE REF TO cl_abap_typedescr."CLASE CONOCER DESCRIP

DATAv_dinami TYPE REF TO data."MI DINAMICA

DATAerror   TYPE REF TO cx_root.
DATA v_mensage TYPE string.

*ASIGNAR VARIABLE
descr_ref 
cl_abap_typedescr=>describe_by_datamy_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_kindLENGTH 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