Bearbeitung von internen Tabellen
Bei der Bearbeitung von internen Tabellen kann man mit einem einfachen Trick viel Zeit sparen. Hier zeigen wir Ihnen, was Sie beachten müssen.
Wenn Sie interne Tabellen mittels LOOP zeilenweise abarbeiten, dann sieht das Coding in etwa so aus:
DATA:
itab LIKE ddictab OCCURS 0 WITH HEADER LINE.
LOOP AT itab.
itab-feld1 = ‘ABC’.
MODIFY itab.
ENDLOOP.
Mit dieser Variante verschenken Sie jedoch viel Performance!
Besser da deutlich schneller ist die folgende Version:
DATA:
itab TYPE STANDARD TABLE OF TABLE ddictab.
FIELD-SYMBOLS:
<itab> STRUCTURE itab DEFAULT itab.
LOOP AT itab ASSIGNING <itab>.
<itab>-feld1 = ‘ABC’.
*** Ein Modify ist nicht nötig!!!
ENDLOOP.
Warum ist das so?
Bei der herkömmlichen LOOP-Variante mit Kopfzeile müssen zu jedem LOOP die Daten aus der Tabelle in die Kopfzeile kopiert werden. Das kostet Zeit.
Mithilfe des Feldsymbols wird direkt auf die Tabellenzeile zugegriffen, es wird also nichts kopiert. Das geht deutlich schneller.
Ein weiterer Vorteil ist, dass bei einem Modify die Daten aus der Kopfzeile nicht wieder in die Tabelle kopiert werden müssen, da der Wert direkt in der Tabellenzeile geändert wird.
Löschen von Einträgen
Das Löschen von Einträgen erfolgt mit:
DELETE itab INDEX sy-tabix.
- Interview mit Björn Schulz (Software-Heroes.com) - 3. September 2024
- Daten aus ALV ermitteln - 3. September 2024
- So lange es den SAPGUI noch gibt… - 27. Juni 2024