Ansicht
Dokumentation

ABENFOR_GROUPS_OF - FOR GROUPS OF

ABENFOR_GROUPS_OF - FOR GROUPS OF

BAL_S_LOG - Application Log: Log header data   Addresses (Business Address Services)  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

FOR GROUPS ... OF

... FOR GROUPS $[group$|group>$] OF wa$|<fs> IN itab
        $[INDEX INTO idx$] $[cond$]
        GROUP BY group_key
        $[ASCENDING$|DESCENDING $[AS TEXT$]$]
        $[WITHOUT MEMBERS$]
        $[let_exp$] ...


Zusatz:

... INDEX INTO idx

Wirkung

Diese Variante eines Iterationsausdrucks für Tabelleniterationen mit FOR wertet eine interne Tabelle itab wie eine LOOP-Schleife mit dem Zusatz GROUP BY in zwei Phasen aus:

  • Gruppierung aller Zeilen, die der Bedingung in cond entsprechen, nach dem in group_key angegebenen Gruppenschlüssel. Für group_key gilt das Gleiche wie bei LOOP AT ...GROUP BY. Jede gelesene Zeile wird in dieser Phase entweder in den lokalen Arbeitsbereich wa geschrieben oder dem lokalen Feldsymbol <fs> zugewiesen und kann darüber bei der Konstruktion des Gruppenschlüssels ausgewertet werden.
  • Auswertung der Gruppen Die optionale Angabe von group oder group> bewirkt die Gruppenschlüsselbindung, bei welcher der aktuelle Gruppenschlüssel in das lokal Datenobjekt group geschrieben oder dem lokalen Feldsymbol group> zugewiesen wird. Ohne die Angabe von group oder group> gilt die Repräsentantenbindung, bei der die erste Zeile einer Gruppe in den lokalen Arbeitsbereich wa geschrieben oder dem lokalen Feldsymbol <fs> zugewiesen wird. Bei der Gruppenschlüsselbindung sind wa bzw. <fs> hinter dem FOR-Ausdruck initial.

Bei itab handelt es sich um eine funktionale Operandenposition. Für die Zusätze ASCENDING, DESCENDING und WITHOUT MEMBERS gilt das Gleiche wie bei LOOP AT ... GROUP BY. Insbesondere kann WITHOUT MEMBERS nur angegeben werden, wenn hinter GROUPS über die Angabe von group bzw. group> eine Gruppenschlüsselbindung definiert wird.

Je nach Art der Bindung können der Arbeitsbereich wa bzw. group oder das Feldsymbol <fs> bzw. group> hinter dem FOR-Ausdruck entweder in weiteren Teilausdrücken oder zur Konstruktion des Resultats einer Tabellen-Comprehension bzw. Tabellenreduzierung verwendet werden. Insbesondere ist ihre Angabe im Ausdruck FOR ... IN GROUP möglich, um die Mitglieder der aktuellen Gruppe auszuwerten.

Hinweis

Wenn ein Konstruktorausdruck einen FOR-Ausdruck mit Gruppenschlüsselbindung enthält und der Gruppenschlüssel als Resultat des Konstruktorausdrucks verwendet werden soll, muss für diesen ein passender Datentyp oder ein Datenobjekt dieses Typs vorhanden sein. Eine Ableitung des Typs über eine Inline-Deklaration wie bei LOOP AT ist hier nicht möglich.

Beispiel

Ausgabe aller in spfli vorkommenden Werte der Spalte carrid. Das Ergebnis der Tabellen-Comprehension ist eine einspaltige interne Tabelle, welche alle Gruppenschlüsselwerte enthält. Die FOR-Schleife arbeitet mit Gruppenschlüsselbindung, wobei jeder Gruppenschlüssel dem lokalen Datenobjekt carrier zugewiesen wird.

Zusatz

... INDEX INTO idx

Wirkung

Dieser Zusatz setzt für jede ausgewertete Gruppe die Hilfsvariable idx wie folgt:

Für das lokale Datenobjekt idx gilt das Gleiche wie in der Variante FOR ... IN itab.

idx kann nicht in group_key angesprochen werden.

Beispiel

Eine interne Tabelle mit Zufallszahlen wird sortiert nach den Zahlen gruppiert. Die Differenzen zwischen der Gruppennummer in i und der Zufallszahl zeigen die Abweichung von der Gleichverteilung.






Addresses (Business Address Services)   TXBHW - Original Tax Base Amount in Local Currency  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 7027 Date: 20240523 Time: 170239     sap01-206 ( 100 ms )