Code: Alles auswählen.
TYPE-POOLS: abap.
DATA:
ls_component TYPE abap_componentdescr,
lt_component TYPE abap_component_tab.
CLEAR ls_component.
ls_component-name = 'TEST1'.
ls_component-type ?= cl_abap_typedescr=>describe_by_data( 'C(10)' ).
INSERT ls_component INTO TABLE lt_component.
CLEAR ls_component.
ls_component-name = 'TEST2'.
ls_component-type ?= cl_abap_typedescr=>describe_by_data( 'C(25)' ).
INSERT ls_component INTO TABLE lt_component.
DATA: lr_strucdescr TYPE REF TO cl_abap_structdescr.
IF lt_component IS NOT INITIAL.
lr_strucdescr = cl_abap_structdescr=>create( lt_component ).
ENDIF.
DATA: lr_tabledescr TYPE REF TO cl_abap_tabledescr.
lr_tabledescr = cl_abap_tabledescr=>create( p_line_type = lr_strucdescr ).
DATA:
lr_data_table TYPE REF TO data.
CREATE DATA lr_data_table TYPE HANDLE lr_tabledescr.
FIELD-SYMBOLS: <table>
TYPE ANY.
ASSIGN lr_data_table TO <table> .
Code: Alles auswählen.
CREATE DATA gz_wa LIKE LINE OF <gt_table>.
ASSIGN gz_wa->* TO <gs_wa>.
READ TABLE <gt_table> ASSIGNING <gs_wa> INDEX 2.
Ähm,Heiner Tiling hat geschrieben:Hallo,
für alle die das thema noch interessiert: Ich meine, dass man das ganz auch mit Hilfe von Feldsymbolen hinbekommen kann. Diese kann man Anlegen und mit TYPE any den Inhalt Variabel halten. Erst bei der Zuweisung der entsprechenden Referenz mit Assign wird das Feldsymbol tatsächlich typisiert.
Gruß
Heiner