Ansicht
Dokumentation

ABAPLOOP_AT_ITAB_RESULT - LOOP AT ITAB RESULT

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.
SAP E-Book

LOOP AT itab, result

Kurzreferenz



... ${ 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.

Ausgabeverhalten

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 )