Geschachtelte interne Tabellen

Zwei oder mehrere geschachtelte Tabellen können ebenfalls mit einem einfachen Trick schneller abgearbeitet werden. In diesem Beispiel zeigen wir Ihnen wie das geht.

Geschachtelte Tabellen werden normalerweise in der folgenden Weise bearbeitet:

*** Abarbeitung der äußeren Tabelle
LOOP AT itab1 ASSIGNING <itab1>.
*** Abarbeitung der inneren Tabelle
  LOOP AT itab2 ASSIGNING <itab2>
       WHERE feld1 = <itab1>-feld1.

  ENDLOOP.

ENDLOOP.

Besser ist allerdings die folgende Variante. Sie ist etwas umständlicher, jedoch trotz der Sortierung deutlich schneller.

DATA l_index TYPE sytabix.

SORT: itab1, itab2.

*** Abarbeitung der äußeren Tabelle
LOOP AT itab1 ASSIGNING <itab1>.

*** Ermittlung des ersten Eintrags der inneren Tabelle
  READ TABLE itab2 WITH KEY feld1 = <itab1>-feld1.
  CHECK sy-subrc = 0.
  l_index = sy-tabix.

*** Abarbeitung der inneren Tabelle ab ermitteltem Eintrag
  LOOP AT itab2 ASSIGNING <itab2> FROM l_index.

    IF <itab1>-feld1 <> <itab2>-feld1.
      EXIT.
    ELSE.
      …
    ENDIF.

  ENDLOOP. „itab2.

ENDLOOP.   „itab1.

Series Navigation<< Bearbeitung von internen TabellenEinige Tipps zum Abschluss >>
image_pdfimage_print
Enno Wulff
follow me
Letzte Artikel von Enno Wulff (Alle anzeigen)