Code: Alles auswählen.
move: text-001 to itab2-feld1,
text-002 to itab2-feld2,
text-003 to itab2-feld3.
append itab2.
loop at itab.
move-corresponding itab to itab2.
append itab2.
endloop.
Code: Alles auswählen.
FORM get_header_line CHANGING pc_tab TYPE table.
DATA: lr_rtti_struc TYPE REF TO cl_abap_structdescr,
lr_tabledescr TYPE REF TO cl_abap_tabledescr,
lt_comp TYPE cl_abap_structdescr=>component_table,
lr_typedescr TYPE REF TO cl_abap_typedescr,
lr_datadescr TYPE REF TO cl_abap_datadescr.
FIELD-SYMBOLS:
<ls_tab> TYPE any,
<ls_comp> LIKE LINE OF lt_comp,
<lv_einzelnes_feld> TYPE any,
<ls_pc_tab> TYPE ANY TABLE.
* Hier wird immer davon ausgegangen, dass eine
* flache, 2 dimensionale Tabelle übergeben wird.
" Beschreibung der übergebenen Tabelle holen
lr_typedescr = cl_abap_typedescr=>describe_by_data( pc_tab ).
" Zuweisung zur Referenz auf Tabellenbeschreibung
lr_tabledescr ?= lr_typedescr.
" Zeilentyp (daten) der Tabelle holen
lr_datadescr = lr_tabledescr->get_table_line_type( ).
" Zuweisung zu Ref. auf Struktur
lr_rtti_struc ?= lr_datadescr.
" Struktur Komponenten holen
lt_comp = lr_rtti_struc->get_components( ). "Felder holen
IF lt_comp IS NOT INITIAL.
APPEND INITIAL LINE TO pc_tab ASSIGNING <ls_tab>.
LOOP AT lt_comp ASSIGNING <ls_comp>.
ASSIGN COMPONENT sy-tabix OF STRUCTURE <ls_tab> TO <lv_einzelnes_feld>.
<lv_einzelnes_feld> = <ls_comp>-name.
ENDLOOP.
ENDIF. "IF lt_comp is NOT INITIAL.
ENDFORM. " GET_HEADER_LINE