ABAP - Schlüsselwortdokumentation →  ABAP - Referenz →  Interne Daten verarbeiten →  Interne Tabellen →  Ausdrücke und Funktionen für interne Tabellen →  FOR - Tabelleniterationen → 

FOR ... IN itab

Syntax

... FOR wa|<fs> IN itab [INDEX INTO idx] [ cond] [let_exp]  ...

Zusatz:

... INDEX INTO idx

Wirkung

Diese Variante eines Iterationsausdrucks für Tabelleniterationen mit FOR wertet eine interne Tabelle itab wie die Zeilenvariante einer LOOP-Schleife sequenziell aus. Bei itab handelt es sich um eine funktionale Operandenposition. Die Reihenfolge der ausgelesenen Zeilen hängt wie bei LOOP von der Tabellenart bzw. einem in cond angegebenen Schlüssel ab.

Mit cond1, cond2, ... können Bedingungen für das Auslesen gesetzt werden. Für jede gelesene Zeile wird das Ergebnis entweder einem lokalen Arbeitsbereich wa1, wa2, ... oder einem Feldsymbol <fs1>, <fs2>, ... zugewiesen. Der Arbeitsbereich bzw. das Feldsymbol wird implizit mit dem Zeilentyp der internen Tabelle deklariert und lokal an den FOR-Ausdruck als Teilausdruck des gesamten Konstruktorausdrucks gebunden. Bezüglich Namensraum und Sichtbarkeit gilt das Gleiche wie für die Hilfsfelder, die in LET-Ausdrücken deklariert werden. Der Arbeitsbereich bzw. das Feldsymbol können hinter dem FOR-Ausdruck entweder in weiteren Teilausdrücken oder zur Konstruktion des Resultats einer Tabellen-Comprehension bzw. Tabellenreduzierung verwendet werden.

Hinweise

Zusatz

... INDEX INTO idx

Wirkung

Dieser Zusatz setzt für jede gelesene Zeile des zugehörigen FOR-Ausdrucks die Hilfsvariable idx auf den Wert, auf den das Systemfeld sy-tabix in einer entsprechenden LOOP-Schleife gesetzt würde. Die Hilfsvariable idx wird implizit mit dem Typ i deklariert und lokal an den FOR-Ausdruck als Teilausdruck des gesamten Konstruktorausdrucks gebunden. Bezüglich Namensraum und Sichtbarkeit gilt das Gleiche wie für Hilfsfelder, die in LET-Ausdrücken deklariert werden.

Beispiele