Ansicht
Dokumentation
ABENCDS_WHERE_CLAUSE_V2 - CDS WHERE CLAUSE V2
General Data in Customer Master TXBHW - Original Tax Base Amount in Local CurrencyDiese Dokumentation steht unter dem Copyright der SAP AG.
- CDS-View-Entität, SELECT, WHERE
... WHERE cds_cond ...
Wirkung
Definiert eine WHERE-Bedingung für die Ergebnismenge einer CDS-View-Entität. Bei einem Zugriff auf die CDS-View-Entität enthält die Ergebnismenge nur die Daten aus der Datenquelle data_source, die der hinter WHERE angegebenen Bedingung cds_cond genügen.
Die in der Bedingung ausgewerteten Felder müssen nicht in der SELECT-Liste als Elemente der CDS-View-Entität definiert werden.
Wenn die View-Entität mithilfe eines Join-Ausdrucks mehrere Datenquellen verwendet, muss allen Feldern, die in der WHERE-Bedingung angegeben sind, der Name ihrer Datenquelle getrennt durch einen Punkt (.) vorangestellt werden. Der Präfix ist in allen Fällen erforderlich, selbst wenn die Feldnamen eindeutig sind.
Folgende Regeln gelten für die Operanden und die Syntax der WHERE-Bedingung einer CDS-View-Entität:
- Alle relationalen Operatoren sind erlaubt. Dies bedeutet, dass alle Vergleichsoperatoren sowie BETWEEN, LIKE, IS [NOT] NULL und IS [NOT] INITIAL erlaubt sind.
- Die Booleschen Operatoren NOT, AND und OR werden unterstützt.
- lhs erwartet ein Feld von einer Datenquelle data_source, einen Pfadausdruck, eine eingebaute Funktion oder einen Cast-Ausdruck.
- Wenn als relationaler Operator ein Vergleichsoperator verwendet wird, kann lhs auch ein Literal, ein Fallausdruck oder ein arithmetischer Ausdruck sein.
- Wenn als relationaler Operator IS NULL verwendet wird, kann lhs auch ein Fallausdruck sein.
- rhs kann ein Feld einer Datenquelle data_source, ein Pfadausdruck, ein Literal, ein Parameter, eine Sitzungsvariable, ein Cast-Ausdruck, oder eine eingebaute Funktion sein.
- Wenn als relationaler Operator ein Vergleichsoperator verwendet wird, kann rhs auch ein Fallausdruck oder ein arithmetischer Ausdruck sein.
- Wenn der Operator LIKE verwendet wird, muss rhs ein Zeichenliteral sein.
- Ein Feld einer Datenquelle kann über einen Pfadausdruck path_expr.element angegeben werden, wenn dessen CDS-Assoziationen keine nicht-SQL-CDS-Entitäten als Assoziationsziel haben und die Kardinalität aller durchlaufenen Assoziationen eindeutig „zu-1“ ist:
- Die Kardinalität der enthaltenen CDS-Assoziationen ist "zu 1".
- Der Pfadausdruck enthält nur Filterbedingungen mit dem Zusatz 1:.
- Mit element kann ein Element des Assoziationsziels der letzten CDS-Assoziation des Pfads angegeben werden.
- Sonstige Ausdrücke und Funktionsaufrufe können nicht angegeben werden.
Einschränkung
Die Bedingung in der WHERE-Klausel darf nicht mit Klammern beginnen. Folgendes ist ungültig:
... WHERE (field1 + field2) * 5 < 1000
Folgende Lösungen sind möglich:
- Die Reihenfolge der Operanden darf geändert werden, damit der Ausdruck in Klammern nicht als erster Operand vorkommt.
- Beispiel: ... WHERE 5 * (field1 + field2) < 1000
- Um die Klammer am Anfang zu vermeiden, kann man 1* am Anfang setzen.
- Beispiel: ... WHERE 1 * (field1 + field2) * 5 < 1000
Hinweis
In der WHERE-Bedingung dürfen anders als in der HAVING-Bedingung keine Aggregatausdrücke angegeben werden.
Beispiel
Die CDS-View-Entität demo_sales_order_where hat eine WHERE-bedingung, die die relationalen Operatoren LIKE und BETWEEN, eine Zeichenkettenfunktion, und einen Cast-Ausdruck enthält.
Vendor Master (General Section) General Material Data
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 9335 Date: 20240523 Time: 175956 sap01-206 ( 90 ms )