Loop at itab assigning fieldsymbol
Aus SAP-Wiki
Zur Navigation springenZur Suche springen
Je länger die Feldleiste ist und umso mehr Datensätze die ITAB hat, umso überlegener ist der Befehl "Loop at itab assigning <fs>" gegenüber dem klassischen "Loop at itab into wa".
Bei den Field-Symbols findet kein Transport vom Tabellenrumpf zu einer Kopfzeile/Working Area statt, sondern es wandert lediglich ein Cursor durch die Tabelle. Das verringert massiv den Datentransport.
Field-Symbols sind 2 - 20 x schneller als Loop über Workarea.
Testprogramm Vergleich Loop Field-Symbols und Workarea
report zreb_field_symbols.
data : lv_dauer type i,
lt_vbak type standard table of vbak,
wa_vbak type vbak.
field -symbols: <fs_vbak> type vbak.
parameters : r_fs radiobutton group radi,
r_wa radiobutton group radi.
**********************
* start-of-selection *
**********************
start-of-selection.
select *
from vbak
into table lt_vbak.
get run time field lv_dauer. "Beginn Laufzeitmessung
if r_wa = 'X' .
loop at lt_vbak into wa_vbak. "Loop in Workarea
"wa_vbak-vbeln = ...
endloop.
endif.
if r_fs = 'X' .
loop at lt_vbak assigning <fs_vbak>. "Loop mit Field-Symbol
"<fs_vbak>-vbeln = ...
endloop.
endif.
get run time field lv_dauer. "Ende Laufzeitmessung
write lv_dauer.