Ansicht
Dokumentation
ABENCDS_F1_GROUP_BY - CDS F1 GROUP BY
PERFORM Short Reference CL_GUI_FRONTEND_SERVICES - Frontend ServicesDiese Dokumentation steht unter dem Copyright der SAP AG.
- SELECT, GROUP BY
... GROUP BY field1, field2, ...
path_expr1, path_expr2, ...
Wirkung
Fasst die Zeilen der Ergebnismenge einer CDS-View zu einer Zeile zusammen, die in den durch Felder field1, field2, ... oder Pfadausdrücke path_expr1, path_expr2 ... angegebenen Elementen den gleichen Inhalt haben. Die Felder müssen mit den Namen angegeben werden, die sie in der Datenquelle data_source haben. Eine Angabe über mit AS definierte alternative Elementnamen der aktuellen CDS-View ist nicht erlaubt.
Alle Elemente der CDS-View, die nicht hinter GROUP BY aufgeführt sind, müssen in der SELECT-Liste durch Aggregatausdrücke definiert werden. Umgekehrt muss GROUP BY verwendet werden, wenn Aggregatausdrücke in der SELECT-Liste vorkommen und alle Elemente, die nicht über Aggregatausdrücke definiert werden, müssen hinter GROUP BY aufgeführt werden. Literale und andere Ausdrücke können nicht hinter GROUP BY aufgeführt werden. Wenn Ausdrücke oder Aufrufe eingebauter Funktionen zusammen mit Aggregat-Ausdrücken als Elemente der SELECT-Liste aufgeführt sind, müssen in der GROUP BY-Klausel alle dort verwendeten Felder aufgeführt werden.
Bei einem Zugriff auf die CDS-View werden die Ergebnisse der Aggregatausdrücke aus den Werten der entsprechenden Felder der zusammengefassten Zeilen berechnet und in der Ergebnismenge in das Element der resultierenden Zeile gestellt.
Die hinter GROUP BY angegebenen Felder dürfen nicht vom Typ LCHR, LRAW, STRING, RAWSTRING oder GEOM_EWKB sein.
Hinweis
Eine WHERE-Bedingung wird vor der Zusammenfassung der Zeilen über GROUP BY ausgewertet.
Beispiel
Bei einem Zugriff gibt die CDS-View sales_order für jede Rolle eines Geschäftspartners und für jede Währung die Anzahl der entsprechenden Geschäftspartner und die Summe aller Bruttobeträge zurück.
-
@AbapCatalog.sqlViewName: 'SALES_ORDER_VW'
define view sales_order as
select from snwd_so
inner join
snwd_bpa on buyer_guid = snwd_bpa.node_key
{ bp_role as role, //e.g. customer or supplier
count(distinct buyer_guid) as partners_count,
@Semantics.currencyCode snwd_so.currency_code,
@Semantics.amount.currencyCode: 'currency_code'
sum(snwd_so.gross_amount) as sum_gross_amount }
group by bp_role, snwd_so.currency_code;
Vendor Master (General Section) 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: 5132 Date: 20240523 Time: 163146 sap01-206 ( 65 ms )