Ansicht
Dokumentation

ABENCDS_COALESCE_EXPRESSION_V2 - CDS COALESCE EXPRESSION V2

ABENCDS_COALESCE_EXPRESSION_V2 - CDS COALESCE EXPRESSION V2

ROGBILLS - Synchronize billing plans   CL_GUI_FRONTEND_SERVICES - Frontend Services  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- CDS-View-Entität, Coalesce-Funktion

... COALESCE( arg1, arg2 ) ...

Wirkung

Coalesce-Funktion in einer SELECT-Anweisung einer CDS-View-Entität. Mit dieser Funktion wird überprüft, ob arg1 einen Null-Wert enthält. In ABAP CDS hat die Coalesce-Funktion zwei obligatorische Positionsparameter, arg1 und arg2. Mit dieser Funktion wird überprüft, ob arg1 einen Null-Wert enthält. Falls ja gibt sie den Wert von arg2 zurück. Falls ja gibt sie den Wert von arg1 zurück. Falls sowohl arg1 als auch arg2 den Null-Wert hat, wird der Null-Wert zurückgegeben.

Die gültigen Argumenttypen für arg1 und arg2 sind alle Dictionary-Typen mit Ausnahme von ACCP, DF16_SCL (obsolet), DF34_SCL (obsolet), DF16_DEC, DF34_DEC, DF16_RAW, DF34_RAW, LCHR, LRAW, PREC, RAWSTRING, STRING und GEOM_EWKB.

Die Datentypen beider Argumente müssen entweder gleich sein oder der Datentyp eines Arguments muss den Wert des anderen Datentyps darstellen. Das Ergebnis hat den Dictionary-Typ des Arguments mit dem größten Wertebereich.

Regeln für Beträge und Mengen

Die Argumente einer Coalesce-Funktion können CDS-Betragsfelder, CDS-Mengenfelder oder berechnete CDS-Mengen sein. In folgender Tabelle wird die Berechnung des Ergebnisdatentyps bei einem oder mehreren Betrags- oder Mengenfeldern als Argumenten gezeigt.

arg1/arg2 Betrag Menge Berechnete Menge Zahl
Betrag Betrag Berechnete Menge Berechnete Menge Berechnete Menge
Menge Berechnete Menge Menge Berechnete Menge Berechnete Menge
Berechnete Menge Berechnete Menge Berechnete Menge Berechnete Menge Berechnete Menge
Zahl Berechnete Menge Berechnete Menge Berechnete Menge Zahl

  • Falls das Ergebnis ein Betrags- oder Mengenfeld ist, muss eine Referenzannotation zugeordnet werden.
  • Die Argumente und das Ergebnis müssen nicht zwingend auf das gleiche Referenzfeld zeigen.
  • Bei Betragsfeldern vom Datentyp CURR gelten folgende Regeln:
  • Felder vom Datentyp CURR sind nur mit anderen Betragsfeldern vom Datentyp CURR kompatibel und nur bei gleicher Anzahl Nachkommastellen.

  • Um ein Betragsfeld vom Datentyp CURR mit einem Feld von einem anderen Datentyp zu kombinieren, ist eine Konvertierung in den Datentyp DECFLOAT34 über die Konvertierungsfunktion CURR_TO_DECFLOAT_AMOUNT erforderlich.

Hinweis

Die Coalesce-Funktion ist eine Kurzform folgender komplexer Fallunterscheidung:

CASE WHEN arg1 IS NOT NULL THEN arg1
     ELSE arg2
END

Beispiel

Mit folgender CDS-View-Entität wird die Syntax der Coalesce-Funktion demonstriert.






TXBHW - Original Tax Base Amount in Local Currency   CL_GUI_FRONTEND_SERVICES - Frontend Services  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 5924 Date: 20240523 Time: 164248     sap01-206 ( 69 ms )