Ansicht
Dokumentation
ABENSQL_ELEM - SQL ELEM
rdisp/max_wprun_time - Maximum work process run time CPI1466 during BackupDiese Dokumentation steht unter dem Copyright der SAP AG.
- sql_elem
... col
$|
literal $|
@dobj $| @( expr ) ...
Wirkung
Elementarer Ausdruck in . Ein elementarer SQL-Ausdruck stellt einen der folgenden Werte dar:
- Wert aus der Datenbank:
- Spalte col einer Datenquelle
- Die Spalte col kann einen beliebigen elementaren Datentyp aus dem ABAP Dictionary haben, es sei denn es ist an einer Operandenposition anders dokumentiert.
- Werte des ABAP-Programms, die an das Datenbanksystem übergeben werden:
- Literal literal
- Hostvariable @dobj
- Hostausdruck @( expr )
- Die ABAP-Objekte können einen beliebigen nicht-generischen elementaren ABAP-Datentyp haben und der Name einer Hostvariable muss mit dem Fluchtsymbol @ gekennzeichnet sein. Typisierte Literale werden strikt gemäß ihres Typs behandelt. Untypisierte Literale sind auf die Typen c und i beschränkt. Untypisierte Textfeldliterale sind erlaubt. Zeichenfolgenliterale sind nicht erlaubt, weder typisiert noch untypisiert. Darüber hinaus darf kein leeres Textfeldliteral angegeben werden. Ein leeres typisiertes Literal vom Typ CHAR kann angegeben werden.
Das Ergebnis eines elementaren SQL-Ausdrucks ist der Wert des angegeben Objekts bzw. das Ergebnis des angegebenen Ausdrucks. Der Datentyp ist bei Angabe eines Werts der Datenbank dessen Dictionary-Typ. Bei der Angabe eines ABAP-Objekts wird der ABAP-Typ wie folgt auf einen Dictionary-Typ gemappt:
Numerischer ABAP-Typ | Dictionary-Typ |
b, s, i, int8 | INT1, INT2, INT4, INT8 |
p | DEC mit entsprechender Länge und Nachkommastellen |
decfloat16, decfloat34 | DF16_RAW, DF34_RAW |
f | FLTP |
Zeichenartiger ABAP-Typ | Dictionary-Typ |
c | CHAR entsprechender Länge |
n | NUMC entsprechender Länge |
string | STRING entsprechender Länge |
Byteartiger ABAP-Typ | Dictionary-Typ |
x | RAW entsprechender Länge |
xstring | RAWSTRING entsprechender Länge |
ABAP-Typ für Datum, Zeit und Zeitstempel | Dictionary-Typ |
d | DATS |
t | TIMS |
utclong | UTCLONG |
Untypisierte Textfeldliterale werden als Felder vom Typ CHAR der entsprechenden Länge behandelt, wobei schließende Leerzeichen berücksichtigt werden. Untypisierte Zahlenliterale werden wie jedes untypisierte Zahlenliteral eines allgemeinen ABAP je nach Wert entweder als Feld vom Typ INT4 oder vom Typ DEC behandelt.
Der Wert eines ABAP-Objekts als elementarer Ausdruck wird auf der Datenbank gemäß des gemappten Typs nach den Regeln der Datenbank behandelt. Dies ist ein Unterschied zu anderen Operandenpositionen von ABAP-Objekten in , an denen sie nicht als elementarer Ausdruck behandelt werden. An solchen Operandenpositionen wird der Inhalt nach den Regeln für verlustfreie Zuweisungen in den Zieltyp konvertiert.
Hinweise
- Spalten, Literale, Hostvariablen und Hostausdrücke können auch als elementare SQL-Operanden an Operandenpositionen vorkommen, an denen keine allgemeinen SQL-Ausdrücke möglich sind. Nur an Stellen, an denen SQL-Ausdrücke möglich sind, können Spalten, Literale, Hostvariablen und Hostausdrücke als SQL-Ausdrücke behandelt werden. Nur dort können sie beispielsweise mit runden Klammern versehen werden. Dann dürfen in der Anweisung nur kommaseparierte Listen vorkommen und Hostvariablen müssen mit dem Fluchtsymbol @ gekennzeichnet werden.
- Wenn ein elementarer SQL-Ausdruck aus einer Hostvariable in Form eines Feldsymbols oder Formalparameters besteht, muss dieser vollständig typisiert sein.
- Untypisierte Literale, Hostvariablen und Hostausdrücke als Operanden von anderen SQL-Ausdrücken Ausdrücken werden ausgewertet, bevor die-Anweisung an das Datenbanksystem gesendet wird. Die Angabe einer Hostvariable aus einer SELECT-Liste hinter INTO in einer SELECT-Schleife führt nicht dazu, dass in jedem Schleifendurchgang mit einem anderen Wert gearbeitet wird.
- Dass Literale, Hostvariablen und Hostausdrücke als Operanden von SQL-Ausdrücken auf einen bestimmten Dictionary-Typ gemappt werden, während an anderen Operandenpositionen eine Konvertierung in verschiedene Zieltypen stattfinden kann, ist insbesondere für relationale Ausdrücke von Bedeutung, in denen die Vergleichbarkeit der Dictionary-Typen eine Rolle spielt.
- Die Spaltenangabe col kann einen Pfadausdruck für CDS-Assoziationen oder CTE-Assoziationen enthalten.
- Ein elementarer Ausdruck kann immer im Tabellenpuffer ausgewertet werden. Die Angabe eines elementaren Ausdrucks führt nicht zur Umgehung der Tabellenpufferung.
- Wenn ein Hostausdruck als Argument eines anderen SQL-Ausdrucks verwendet wird, wird die Syntaxprüfung im strikten Modus ab Release ausgeführt, welche die Anweisung strenger behandelt als die normale Syntaxprüfung.
Beispiel
Die SELECT-Liste der zweiten SELECT-Anweisung enthält alle möglichen elementaren SQL-Ausdrücke.
CL_GUI_FRONTEND_SERVICES - Frontend Services ABAP Short Reference
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 9646 Date: 20240523 Time: 103340 sap01-206 ( 115 ms )