Code: Alles auswählen.
LOOP AT it_test ASSIGNING FIELD-SYMBOL(<fs_line>).
do.
" Greife dir Feld 1, Feld 2, etc.
assign component sy-index
of structure <fs_line>
to <field>. "type any
" letztes Feld erreicht: Nächste Zeile
if sy-subrc ne 0.
exit.
endif.
*** Hier kannst du mit dem Feldinhalt machen was du willst:
var = <field>. "auf Typisierung achten, die Zuweisung geht nicht immer
enddo.
ENDLOOP.
Code: Alles auswählen.
do. " setzt sy-index als Zähler
LOOP AT it_test ASSIGNING FIELD-SYMBOL(<fs_line>).
" Greife dir Feld 1 im 1. LOOP, Feld 2 im 2. LOOP, etc.
assign component sy-index
of structure <fs_line>
to <field>. "type any
" letztes Feld erreicht: Komplett raus
if sy-subrc ne 0.
end_of_do = abap_true.
endif.
*** Hier kannst du mit dem Feldinhalt machen was du willst:
var = <field>. "auf Typisierung achten, die Zuweisung geht nicht immer
exit." Wir laufen nur 1x durch den LOOP, springen dann raus und laufen dann wieder nur 1x durch den LOOP
ENDLOOP.
if end_of_do eq ABAP_true.
exit.
endif.
enddo.
Code: Alles auswählen.
LOOP AT it_test ASSIGNING FIELD-SYMBOL(<fs_line>).
Code: Alles auswählen.
DATA: END_OF_DO TYPE BOOLEAN_FLG,
COMPONENT_COUNTER TYPE I.
WHILE END_OF_DO = ABAP_FALSE.
ADD 1 TO COMPONENT_COUNTER.
LOOP AT IT_TEST ASSIGNING FIELD-SYMBOL(<FS_LINE>).
" Greife dir Feld 1 im 1. LOOP, Feld 2 im 2. LOOP, etc.
ASSIGN COMPONENT COMPONENT_COUNTER OF STRUCTURE <FS_LINE> TO <FIELD>. "type any
" letztes Feld erreicht: Komplett raus
END_OF_DO = SWITCH #( SY-SUBRC WHEN 0 THEN ABAP_FALSE
ELSE ABAP_TRUE ).
* ** Hier kannst du mit dem Feldinhalt machen was du willst:
VAR = <FIELD>. "auf Typisierung achten, die Zuweisung geht nicht immer
ENDLOOP.
ENDWHILE.
Code: Alles auswählen.
LOOP AT CAST cl_abap_structdescr( CAST cl_abap_tabledescr( cl_abap_tabledescr=>describe_by_data( it_test ) )->get_table_line_type( ) )->get_components( ) ASSIGNING FIELD-SYMBOL(<ls_component>).
LOOP AT it_test ASSIGNING FIELD-SYMBOL(<fs_line>).
ASSIGN COMPONENT <ls_component>-name OF STRUCTURE <fs_line> TO FIELD-SYMBOL(<lv_field>).
* ** Hier kannst du mit dem Feldinhalt machen was du willst:
WRITE:/ sy-tabix, <ls_component>-name.
WRITE <lv_field>.
ENDLOOP.
ULINE.
ENDLOOP.
Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
Daniel
Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag:
Daniel
Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag:
Daniel
Ja, beim FB habe ich ein zentrales, übersichtliches Interface. Im günstigsten Fall hat der FB dann auch noch eine vernünftige Online-Doku (die sogar Einzeldokus für die einzelnen Parameter enthalten kann; das geht bei Methoden meines Wissens noch nicht mal mehr, und ABAP Doc in einer zusätzlichen Zeile über dem zu kommentierenden Code statt dahinter ist ja wohl eine Frechheit, damit zerbröselt man sich ja den ganzen Quellcode). Wenn ich einen FB aufrufe, ist das kein mehrfach in sich geschachteltes Pamphlet, bei dem kein Mensch ohne Einarbeitung versteht, was da passiert.Verstehen müssen die Aufrufer das nicht zwingend, die müssen nur wissen, was sie reinwerfen müssen und was rauskommt. Ich möchte wetten, das machst du mit den meisten SAP-Funktionsbausteinen auch so. Du weißt grob (in einem Satz zusammengefasst) was sie tun und was sie dafür brauchen.
Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag:
Daniel