Ansicht
Dokumentation

ABENCDS_F1_GROUP_BY - CDS F1 GROUP BY

ABENCDS_F1_GROUP_BY - CDS F1 GROUP BY

PERFORM Short Reference   CL_GUI_FRONTEND_SERVICES - Frontend Services  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- 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 )