Ansicht
Dokumentation
ABAPLOOP_AT_ITAB_RESULT - LOOP AT ITAB RESULT
General Data in Customer Master Addresses (Business Address Services)Diese Dokumentation steht unter dem Copyright der SAP AG.
LOOP AT itab, result
... ${ INTO wa $}
$| ${ ASSIGNING <fs> $[CASTING$] $}
$| ${ REFERENCE INTO dref $}
$| ${ TRANSPORTING NO FIELDS $} ...
Wirkung
Definiert das Ausgabeverhalten einer LOOP-Schleife über eine interne Tabelle. Für das Ausgabeverhalten gibt es vier Alternativen:
- Mit dem Zusatz INTO wird der Inhalt der aktuellen Zeile einem Arbeitsbereich wa zugewiesen.
- Mit dem Zusatz ASSIGNING wird die aktuelle Zeile einem Feldsymbol <fs> zugewiesen. Innerhalb der Schleife darf dem Feldsymbol kein anderer Speicherbereich zugewiesen und die Zuweisung darf nicht mit UNASSIGN rückgängig gemacht werden.
- Mit dem Zusatz REFERENCE INTO wird eine Referenz auf die aktuelle Zeile in eine Referenzvariable gestellt. Innerhalb der Schleife darf der Referenzvariable keine andere Referenz zugewiesen und die Referenzvariable darf nicht mit CLEAR initialisiert werden.
- Mit dem Zusatz TRANSPORTING NO FIELDS werden nur die zugehörigen Systemfelder gefüllt. Dieser Zusatz ist nur möglich, wenn gleichzeitig der Zusatz WHERE in den Bedingungen cond verwendet wird und wenn der Zusatz GROUP BY nicht verwendet wird.
Wenn die interne Tabelle itab als vorhandenes Datenobjekt angegeben wird, sind mit der Ausnahme, dass hinter INTO wa keine weiteren transport_options angegeben werden können, Syntax und Bedeutung der Angabe des Ausgabeverhaltens dieselben wie bei der Anweisung READ TABLE und es gelten die gleichen Einschränkungen bezüglich der Modifikation von Schlüsselfeldern der primären und sekundären Tabellenschlüssel. Insbesondere sind Inline-Deklarationen für den Arbeitsbereich, das Feldsymbol oder die Referenzvariable mit den Deklarationsoperatoren DATA, FINAL und FIELD-SYMBOL möglich.
Wenn für den Arbeitsbereich wa oder die Referenzvariable dref ein Feldsymbol oder eine dereferenzierte Referenzvariablen angegeben werden, wird bei jedem Schleifendurchlauf bestimmt, auf welches Datenobjekt das Feldsymbol oder die Referenzvariable zeigt. Bei jedem Schleifendurchgang wird das aktuelle Datenobjekt als Zielbereich verwendet. Eine Änderung der Zuordnung des Feldsymbols oder der Referenzvariable innerhalb der Schleife ändert somit den Zielbereich.
Wenn die interne Tabelle als Rückgabewert bzw. Resultat einer
funktionalen Methode, eines
Konstruktorausdrucks oder eines
Tabellenausdrucks
angegeben ist, können anders als bei READ TABLE bei LOOP auch die Zusätze
ASSIGNING und REFERENCE INTO angegeben werden. Da die interne Tabelle dann nur während
der Schleifenverarbeitung zur Verfügung steht, werden alle Feldsymbole und Referenzvariablen, die auf Zeilen der internen Tabelle zeigen, beim Verlassen der Schleife ungültig.
Hinweise
- Wenn bei Verwendung der Zusätze ASSIGNING oder REFERENCE INTO die aktuelle Zeile innerhalb der Schleife gelöscht wird, sind das Feldsymbol bzw. die Referenzvariable danach im aktuellen Schleifendurchgang nicht zugewiesen bzw. ungebunden.
- Für LOOP gibt es außerhalb von Klassen noch eine obsolete Kurzform, bei der die Angabe INTO wa weggelassen werden kann, falls die interne Tabelle eine gleichnamige Kopfzeile itab hat. Die Anweisung wird dann um INTO itab ergänzt.
Beispiel
Mit zwei LOOP-Schleifen werden in einer sortierten Tabelle von Zufallszahlen die Zeilennummern für die Zahlen größer gleich 40 und kleiner gleich 60 festgestellt, wobei der Zusatz TRANSPORTING NO FIELDS verwendet wird. Danach werden diese Zeilen mit INTO in eine Variable number ausgelesen. Das Füllen der Ausgabetabelle output dient hier zur Demonstration der Verwendung von number und könnte auch mit INSERT LINES OF erfolgen.
Beispiel
Schleife über eine interne Tabelle mit Datumsangaben, Die Tabellenzeilen werden einem strukturiertem Feldsymbol zugewiesen, wobei ein entsprechendes Casting stattfindet.
Fill RESBD Structure from EBP Component Structure SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 6628 Date: 20240329 Time: 071955 sap01-206 ( 110 ms )