Ansicht
Dokumentation

ABENABAP_SQL_EXPR_LOGEXP - ABAP SQL EXPR LOGEXP

ABENABAP_SQL_EXPR_LOGEXP - ABAP SQL EXPR LOGEXP

General Data in Customer Master   BAL Application Log Documentation  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- rel_exp für Ausdrücke

... ${ ${operand1 ${=$|EQ$|<>$|NE$|>$|GT$|<$|LT$|>=$|GE$|=$|LE$} operand2 $}
    $| ${operand  $[NOT$] BETWEEN operand1 AND operand2$}
    $| ${operand1 $[NOT$] LIKE operand2 $[ESCAPE esc$]$}
    $| ${operand  IS $[NOT$] NULL$}
    $| ${operand  IS $[NOT$] INITIAL$} $} ...


Wirkung

Relationaler Ausdruck in einer Bedingung eines Ausdrucks in einer -Anweisung. Aus den hier gezeigten relationalen Ausdrücken können logische Ausdrücke sql_cond für folgende Bedingungen gebildet werden:

  • Startbedingung der Tabellenfunktion HIERARCHY.

Die in Ausdrücken möglichen relationalen Ausdrücke sind eine Teilmenge der relationalen Ausdrücke für Anweisungen, ermöglichen aber auch SQL-Ausdrücke als Operanden der rechten Seite.

  • operand1 =$|<>$|>$|$|>=$|= operand2
Vergleich des Operanden operand1 auf der linken Seite mit einem operand2 auf der rechten Seite. Für die Vergleichsoperatoren gilt das Gleiche wie in einer Bedingung für Anweisungen. Die Operanden von Größenvergleichen können hier die folgenden Datentypen haben:

  • Zeichenartige Datentypen: CHAR, CLNT, LANG, CUKY, UNIT, NUMC

  • Datums-, Zeit- und Zeitstempeltypen: DATN, DATS, TIMN, TIMS, UTCLONG

Der Operand operand2 der rechten Seite kann ein beliebiger SQL-Ausdruck außer Aggregatausdrücken und Fensterausdrücken sein. Wenn ein Operand des Vergleichs den Null-Wert hat, ist das Ergebnis dieses Vergleichs unbekannt.
  • operand $[NOT$] BETWEEN operand1 AND operand2
Überprüfung einer Intervallzugehörigkeit. Der relationale Ausdruck wirkt wie die entsprechende Bedingung für Anweisungen. Der Zusatz NOT ist nicht möglich. Die Operanden können die gleichen Datentypen wie für Größenvergleiche haben. Für operand1 und operand2 können beliebige SQL-Ausdrücke außer Aggregatausdrücken und Fensterausdrücken angegeben werden. Wenn einer der Operanden den Null-Wert hat, ist das Ergebnis der Überprüfung unbekannt.
  • operand1 $[NOT$] LIKE operand2 $[ESCAPE esc$]
Musterabgleich. Der relationale Ausdruck wirkt wie die entsprechende Bedingung für Anweisungen. Der Zusatz NOT ist nicht möglich. Für die Operanden gilt ebenfalls das Gleiche wie bei der Bedingung für Anweisungen. Die Operanden müssen zeichenartig sein und auf der rechten Seite können nur Literale und Hostvariablen angegeben werden.
  • operand IS $[NOT$] NULL
Überprüfung auf den Null-Wert. Der relationale Ausdruck wirkt wie die entsprechende Bedingung für Anweisungen.
  • operand IS $[NOT$] INITIAL
Überprüfung auf den Initialwert des zugeordneten elementaren ABAP-Typs. Der relationale Ausdruck wirkt wie die entsprechende Bedingung für Anweisungen.

Die Operanden der linken Seite können beliebige SQL-Ausdrücke außer Aggregatausdrücken und Fensterausdrücken sein. Alle Spalten und Ausdrücke können mit Ausnahme von LIKE beliebige Dictionary-Typen außer ACCP, DF16_SCL (obsolet), DF34_SCL (obsolet), LCHR, LRAW, PREC, RAWSTRING, STRING und GEOM_EWKB haben. Einzeln angegebene Literale, Hostvariablen und Hostausdrücke werden als elementare SQL-Ausdrücke behandelt und können beliebige ABAP-Typen haben.

Die Datentypen der Operanden eines relationalen Ausdrucks müssen miteinander vergleichbar sein. Andernfalls kommt es bei der statischen Angabe zu einem Syntaxfehler und bei der dynamischen Angabe zu einer Ausnahme der Klasse CX_SY_DYNAMIC_OSQL_SEMANTICS. Anders als in Bedingungen für Anweisungen werden Operanden der Typen DATS und TIMS wie normale flache zeichenartige Operanden behandelt.

Wenn ein Ausdruck für eine Selektion verwendet wird, darf in einer SQL-Bedingung des Ausdrucks die Mandantenspalte einer mandantenabhängigen Datenquelle einer Query oder des Ziels einer schreibenden Anweisung wegen der impliziten Mandantenbehandlung nicht als Operand verwendet werden.

Hinweise

  • Dass die möglichen relationalen Ausdrücke und deren Operanden nur eine Teilmenge der relationalen Ausdrücke für Anweisungen darstellen, liegt daran, dass ein Ausdruck im Wesentlichen unverändert an die Datenbank übergeben wird. Eine WHERE-Bedingung, HAVING- oder ON-Bedingung einer Anweisung wird dagegen bei bestimmten Konstrukten vor der Übergabe vom ABAP-Laufzeit-Framework bearbeitet, um plattformunabhängiges Verhalten zu erreichen.
  • Vor BETWEEN und LIKE kann derzeit kein Zusatz NOT angegeben werden. Statt dessen kann der Operator NOT vor dem gesamten Ausdruck verwendet werden.





CPI1466 during Backup   General Data in Customer Master  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 11429 Date: 20240523 Time: 183132     sap01-206 ( 120 ms )