Ansicht
Dokumentation
ABENCDS_ARIT_EXP_CALC_V2 - CDS ARIT EXP CALC V2
ROGBILLS - Synchronize billing plans TXBHW - Original Tax Base Amount in Local CurrencyDiese Dokumentation steht unter dem Copyright der SAP AG.
- CDS-View-Entität arith_expr, Beträge und Mengen
... $[-$]operand1 $[+$|-$|*$|/ $[-$]operand2 $[+$|-$|*$|/ $[-$]operand3 ... $]$] ...
Wirkung
Arithmetischer Ausdruck in einer SELECT-Anweisung einer CDS-View-Entität, der mit CDS-Betragsfeldern, CDS-Mengenfeldern und berechneten Mengen arbeitet. Die mögliche Operatoren sind:
Operator | Bedeutung |
+ | Addition der Operanden |
- | Subtraktion des rechten vom linken Operanden |
* | Multiplikation der Operanden |
/ | Division des linken durch den rechten Operanden |
Ein Minuszeichen - vor einem Operanden multipliziert diesen mit -1. Die Operanden müssen CDS-Betragsfelder, CDS-Mengenfelder, berechnete CDS-Mengen oder numerischer Werte der folgenden Datentypen sein: INT1, INT2, INT4, INT8, DEC, DECFLOAT16, DECFLOAT34, FLTP, oder QUAN. Die Operanden können wie folgt angegeben werden:
- CDS-Betragsfelder und CDS-Mengenfelder müssen Felder einer Datenquelle data_source der aktuellen CDS-View-Entität sein.
- Berechnete CDS-Mengen können Felder einer Datenquelle data_source der aktuellen CDS-View-Entität oder Wiederverwendungsausdrücke mit $projection sein.
- Numerische Werte können als Literale, Felder einer Datenquelle data_source der aktuellen CDS-View-Entität, Parameter, Pfadausdrücke, eingebaute Funktionen, Casting-Ausdrücke, Fallunterscheidungen, Aggregatsausdrücke, sonstige arithmetische Ausdrücke oder Wiederverwendungsausdrücke mit $projection angegeben werden. Der Datentyp muss passend sein.
Die Teilausdrücke eines arithmetischen Ausdrucks können mit runden Klammern (...) geklammert werden.
In folgender Tabelle wird die Verwendung von Betragsfeldern und Mengenfeldern mit unterschiedlichen Operatoren und der Typ des Ergebnisses gezeigt:
Operanden/Operatoren | / | * | +, - |
Betrag, Betrag | berechnete Menge | berechnete Menge | Betrag |
Menge, Menge | berechnete Menge | berechnete Menge | Menge |
berechnete Menge, Betrag | berechnete Menge | berechnete Menge | Betrag |
Betrag, Menge | berechnete Menge | berechnete Menge | - |
berechnete Menge, Zahl | berechnete Menge | berechnete Menge | - |
berechnete Menge, Menge | berechnete Menge | berechnete Menge | Menge |
berechnete Menge, berechnete Menge | berechnete Menge \lbr | berechnete Menge | berechnete Menge |
Betrag, Zahl | Betrag | Betrag | - |
Zahl, Betrag | berechnete Menge | Betrag | - |
Menge, Zahl | Menge | Menge | - |
Zahl, Menge | berechnete Menge | Menge | - |
Bezüglich der Datentypen der Operanden und des Ergebnisses gelten die Regeln für arithmetische Ausdrücke (siehe den Abschnitt CDS-View-Entität arith_expr). Wenn das Ergebnis eine berechnete Menge ist, ist der Datentyp immer DECFLOAT34.
Es gelten folgende Besonderheiten
- Falls das Ergebnis eines arithmetischen Ausdrucks ein CDS-Betragsfeld, ein CDS-Mengenfeld oder eine berechnete Menge ist, ist die Zuordnung eines Währungsschlüssels, Einheitenschlüssels oder berechnete Einheit mit der jeweilige Semantics-Annotation obligatorisch. Wenn keine Referenz zugeordnet ist, kommt es zu einem Fehler der Syntaxprüfung. Referenzen werden weder geerbt noch aus den Operanden des arithmetischen Ausdrucks abgeleitet.
- Bei CDS-Betragsfeldern vom Datentyp CURR gelten folgende Regeln:
- Im Allgemeinen können CDS-Betragsfelder vom Datentyp CURR nicht direkt als Operanden von arithmetischen Ausdrücken verwendet werden. Sie müssen erst in den Datentyp DECFLOAT34 mit der Konvertierungsfunktion CURR_TO_DECFLOAT_AMOUNT konvertiert werden.
- Die einzige Ausnahme dabei besteht wenn alle Operanden vom Datentyp CURR sind und genau zwei Nachkommastellen haben. In diesem Fall können sie in Additionen und Subtraktionen (Operatoren + und -).
- Über die Funktion GET_NUMERIC_VALUE kann eine berechnete Menge in einen Betrags- oder Mengenfeld zurück verwandelt werden. Dabei kann die erforderliche Referenz über die erforderliche Annotation Semantics.amount.currencyCode oder Semantics.quantity.unitofMeasure hinzugefügt werden.
- Wenn einer der Operanden vom Typ FLTP ist, handelt es sich um einen binären Gleitpunktausdruck, in dem alle Operanden vom FLTP sein müssen.
- Wenn eine Division mit dem Operator / durchgeführt wird, kann der rechte Operand nicht den Wert 0 haben.
Hinweise
- Folgende Konvertierungsfunktionen stehen CDS-Betragsfeldern und CDS-Währungsfeldern zur Verfügung: CURR_TO_DECFLOAT_AMOUNT und GET_NUMERIC_VALUE.
- Eine berechnete Einheit darf nur einmal als Referenz in einer View verwendet werden. Wenn eine View mehrere berechnete Mengenfelder enthält, benötigt jedes Feld eine andere berechnete Einheit.
Beispiel
SELECT-List eine CDS-View-Entität mit Beträgen und Mengen in arithmetischen Ausdrücken:
- Bei der Berechnung mit dem Feld my_calcQuan muss das Währungsfeld mit der Funktion CURR_TO_DECFLOAT_AMOUNT normalisiert werden.
- my_calcQuan ist ein berechnete Menge vom Typ DECFLOAT34 und benötigt eine berechnete Einheitenreferenz.
- AmountAddition ist ein Feld, das zwei Betragsfelder hinzufügt. Das Ergebnis ist wiederum ein Betragsfeld und ein neuer Währungsschlüssel muss zugeordnet werden.
- newCalcQuan multipliziert eine berechnete Menge mit einer Zahl. Es wird eine berechnetet Einheitenreferenz benötigt. Jede berechnete Einheit darf nur einmal in einer View verwendet werden und es wird daher eine neue berechnete Einheit zugeordnet.
RFUMSV00 - Advance Return for Tax on Sales/Purchases Fill RESBD Structure from EBP Component Structure
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 12098 Date: 20240523 Time: 171231 sap01-206 ( 105 ms )