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.