Ansicht
Dokumentation
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.
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:
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:
- Bei Repräsentantenbindungen auf den Wert, den der Zusatz INDEX INTO bei einer Auswertung mit FOR ... IN itab für die Repräsentantenzeile setzen würde.
- Bei Gruppenschlüsselbindung werden die Gruppen vom Wert 1 ab gezählt.
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 )