Ansicht
Dokumentation

ABENFOR_IN_GROUP - FOR IN GROUP

ABENFOR_IN_GROUP - FOR IN GROUP

ROGBILLS - Synchronize billing plans   RFUMSV00 - Advance Return for Tax on Sales/Purchases  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

FOR ... IN GROUP

... FOR ${ wa$|<fs> IN GROUP group $[INDEX INTO idx$] $[WHERE ( log_exp )$] $}
      $| ${ GROUPS OF
          wa$|<fs> IN GROUP group $[INDEX INTO idx$] $[WHERE ( log_exp )$]
          GROUP BY group_key
          $[ASCENDING$|DESCENDING $[AS TEXT$]$]
          $[WITHOUT MEMBERS$] $} $[let_exp$] ...


Zusatz:

... INDEX INTO idx

Wirkung

Diese Varianten eines Iterationsausdrucks für Tabelleniterationen mit FOR werten eine Zeilengruppe group wie eine Mitgliederschleife LOOP AT GROUP sequenziell aus. Diese FOR-Ausdrücke können nur an Stellen angegeben werden, an denen auf eine Gruppe group zugegriffen werden kann, d.h.

  • in einer LOOP-Schleife mit dem Zusatz GROUP BY,

wobei in beiden Fällen

  • die interne Tabelle direkt und nicht als Ergebnis eines Ausdruck oder einer Funktion angegeben sein muss,
  • der Zusatz WITHOUT MEMBERS nicht angegeben sein darf.

Mit group wird die auszuwertende Gruppe über das Datenobjekt oder Feldsymbol angegeben, das an die Gruppe gebunden ist.

  • In der Variante FOR ... IN GROUP ohne GROUPS OF wertet der Ausdruck die Mitglieder der aktuellen Gruppe so aus, wie die Variante FOR ... IN itab die Zeilen der internen Tabelle itab. Das Ergebnis sind die Zeilen der Gruppe.
  • In der Variante FOR GROUPS OF ... IN GROUP wertet der Ausdruck die Mitglieder der aktuellen Gruppe so aus, wie die Variante FOR GROUPS ... OF. Die aktuelle Gruppe wird erneut gruppiert und das Ergebnis sind entweder Repräsentanten oder Gruppenschlüssel der Untergruppen.

Mit der Bedingung WHERE ( log_exp ) können die auszuwertenden Zeilen der Gruppe eingeschränkt werden. Andere Bedingungen als diese statische WHERE-Bedingung können nicht angegeben werden.

Hinweis

Der Zugriff auf die Gruppen ist wie bei LOOP AT GROUP intern optimiert.

Beispiel

Ausgabe einer Liste der Summe der belegten Plätze für jede Fluggesellschaft. In einer LOOP-Schleife mit dem Zusatz GROUP BY werden deren Gruppen in einer Tabellenreduzierung mit FOR flight IN GROUP carrier> ausgewertet, wobei für die Spalte seatsocc für jede Gruppe die Summe berechnet wird.

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 Schleife LOOP AT GROUP gesetzt würde. Für das lokale Datenobjekt idx gilt das Gleiche wie in der Variante FOR ... IN itab.






Vendor Master (General Section)   Vendor Master (General Section)  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 4900 Date: 20240523 Time: 153829     sap01-206 ( 68 ms )