Ansicht
Dokumentation
ABENLOOP_GROUP_BY_EXPLICIT_ABEXA - LOOP GROUP BY EXPLICIT ABEXA
CL_GUI_FRONTEND_SERVICES - Frontend Services rdisp/max_wprun_time - Maximum work process run timeDiese Dokumentation steht unter dem Copyright der SAP AG.
- Gruppierung mit LOOP, explizit und implizit
Das Beispiel demonstriert eine selbst programmierte Gruppenschleife und deren Ersetzung durch GROUP BY.
Quelltext
Beschreibung
Die Aufgabe, die Zeilen einer einspaltigen internen Tabelle nach Vergleichskriterien in drei Gruppen einzuteilen wird auf zwei Arten gelöst:
- Die Methode group_explicit arbeitet ohne GROUP BY. Statt dessen wird die Gruppierung explizit im ABAP-Programm vorgenommen, wofür eine explizite Hilfstabelle helper_tab benötigt wird. Nach der Gruppierung zeigen die Zeilen der geschachtelten Tabelle refs in helper_tab für jede über die Spalte key definierte Gruppe auf die zugehörigen Zeilen der ursprünglichen Tabelle numbers. Nach dieser Gruppierungsschleife folgt die Gruppenschleife über die Hilfstabelle, wobei bei jedem Schleifendurchgang durch Auswertung der geschachtelten Tabellen refs auf die Gruppenmitglieder zugegriffen wird.
- Die Methode group_by arbeitet mit GROUP BY. Das Resultat ist das Gleiche wie von group_explicit. Ein Vergleich der Methoden zeigt, dass die Gruppierungsschleife der ersten Methode in der zweiten Methode implizit durch GROUP BY erledigt wird und dass keine explizite Hilfstabelle benötigt wird. Zu sehen ist nur die Gruppenschleife.
In beiden Methoden werden drei Arten von Schleifen ausgeführt, die Gruppierungsschleife, die Gruppenschleife und die optionalen Mitgliederschleifen. Die Verwendung von GROUP BY erspart die explizite Programmierung der Gruppierungsschleife, was bequemer ist und die zweite Methode merklich kürzer macht.
CL_GUI_FRONTEND_SERVICES - Frontend Services Vendor Master (General Section)
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 2116 Date: 20240523 Time: 105652 sap01-206 ( 48 ms )