Ansicht
Dokumentation
ABENCDS_SIMPLE_CASE_EXPRESSION_V2 - CDS SIMPLE CASE EXPRESSION V2
BAL_S_LOG - Application Log: Log header data BAL_S_LOG - Application Log: Log header dataDiese Dokumentation steht unter dem Copyright der SAP AG.
- CDS-View-Entität, simple_case_expr
... CASE operand
WHEN operand1 THEN result1
$[WHEN operand2 THEN result2$]
...
$[ELSE resultn$]
END ...
Wirkung
Einfache Fallunterscheidung in einer SELECT-Anweisung einer CDS-View-Entität. Die Fallunterscheidung vergleicht die Werte von Operand operand mit den Operanden operand1, operand2, ... und gibt den ersten Operand nach THEN zurück, für den das Ergebnis des Vergleichs true ist. Wenn keine Übereinstimmung festgestellt wird, wird die Angabe result hinter ELSE zurückgegeben. Wenn kein ELSE angegeben ist, ist das Resultat der Null-Wert.
- Für operand, operand1, operand2, und für result1, result2, können die folgenden Operanden angegeben werden:
- Felder einer Datenquelle data_source der aktuellen CDS-View-Entität
- Eine weitere Fallunterscheidung
- Pfadausdrücke, die ein Feld einer Datenquelle data_source bezeichnen
- Ein Wiederwendungsausdruck mit $projection
Der Operand operand muss mit operand1, operand2, ... vergleichbar sein. Bei der Aktivierung der CDS-View-Entität wird aus den Operanden result1, result2, ... ein Ergebnistyp bestimmt. Die Operanden der THEN- und ELSE-Verzweigungen müssen miteinander kompatibel sein.
Die Operanden dürfen nicht vom eingebauten Datentyp LCHR, LRAW, STRING, RAWSTRING oder GEOM_EWKB sein.
Regeln für Beträge und Mengen
Das Ergebnisdatentyp eines Fallausdrucks wird durch alle THEN-Verzweigungen und die ELSE-Verzweigung ermittelt. Falls der Ergebnisdatentyp ein CDS-Betragsfeld, ein CDS-Mengenfeld oder eine berechnete CDS-Menge ist, muss eine Referenzannotation zugeordnet werden. In folgender Tabelle wird die Berechnung des Ergebnisdatentyps bei einem oder mehreren Operanden result1, result2, als Betrags- oder Mengenfeldern gezeigt.
operand1/operand2 | 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 | Anzahl |
- Die Operanden 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.
Hinweise
Beispiel
Das Beispiel zeigt eine CDS-View-Entität mit zwei Fallunterscheidungen.
Beispiel
In diesem Beispiel wird eine CDS-View-Entität mit zwei Fallunterscheidungen mit Betrags- und Mengenfeldern gezeigt.
General Material Data 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: 8759 Date: 20240523 Time: 184159 sap01-206 ( 95 ms )