Ansicht
Dokumentation
ABENCDS_COALESCE_EXPRESSION_V2 - CDS COALESCE EXPRESSION V2
ROGBILLS - Synchronize billing plans CL_GUI_FRONTEND_SERVICES - Frontend ServicesDiese Dokumentation steht unter dem Copyright der SAP AG.
- 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 )