User Tools

Site Tools


abap:dynamic_programming

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
abap:dynamic_programming [2014/12/15 19:47] ginkoabap:dynamic_programming [2017/07/21 16:06] ginko
Line 53: Line 53:
  
 __NB2__ : Si la classe ''cl_abap_typedescr'' n'est pas dispo, zieuter vers ''GET_COMPONENT_LIST'' et ''GET_GLOBAL_SYMBOLS''. __NB2__ : Si la classe ''cl_abap_typedescr'' n'est pas dispo, zieuter vers ''GET_COMPONENT_LIST'' et ''GET_GLOBAL_SYMBOLS''.
 +
 +==== Créer une itab ex nihilo ====
 +
 +[[https://wiki.scn.sap.com/wiki/display/Snippets/Steps+to+Create+Type+Dynamically|Sauce]]
 +<code abap>    METHOD create_data.
 +        DATA:
 +          lo_structdescr         TYPE REF TO cl_abap_structdescr,
 +          lo_typedescr           TYPE REF TO cl_abap_typedescr,
 +          lo_tabledescr          TYPE REF TO cl_abap_tabledescr,
 +          lt_lvc_scol            TYPE lvc_t_scol,
 +          lt_lvc_styl            TYPE lvc_t_styl,
 +          lt_comp_all            TYPE cl_abap_structdescr=>component_table.
 +        FIELD-SYMBOLS:
 +          <component>            TYPE LINE OF abap_component_tab.
 +     
 +        APPEND INITIAL LINE TO lt_comp_all ASSIGNING <component>.
 +        <component>-type ?= cl_abap_datadescr=>describe_by_data( lt_lvc_styl ).
 +        <component>-name = lc_fieldname_t_styl.
 +     
 +        APPEND INITIAL LINE TO lt_comp_all ASSIGNING <component>.
 +        <component>-type ?= cl_abap_datadescr=>describe_by_data( lt_lvc_scol ).
 +        <component>-name = lc_fieldname_t_color.
 +     
 +    * create structure description
 +        lo_structdescr = cl_abap_structdescr=>create( lt_comp_all ).
 +     
 +    * create table description for structure
 +        lo_tabledescr = cl_abap_tabledescr=>create(
 +                        p_line_type  = lo_structdescr
 +                        p_table_kind = cl_abap_tabledescr=>tablekind_std
 +                        p_unique     = abap_false ).
 +     
 +    * create data object
 +        CREATE DATA rr_dispodata TYPE HANDLE lo_tabledescr.
 +     
 +      ENDMETHOD.</code>
 +
 ===== Exemples ===== ===== Exemples =====
 ==== Select dans table dynamique ==== ==== Select dans table dynamique ====
 [[http://wiki.scn.sap.com/wiki/display/ABAP/Dynamic+Internal+table?original_fqdn=wiki.sdn.sap.com]] [[http://wiki.scn.sap.com/wiki/display/ABAP/Dynamic+Internal+table?original_fqdn=wiki.sdn.sap.com]]
abap/dynamic_programming.txt · Last modified: 2017/08/01 17:31 by ginko