Ansicht
Dokumentation

ABENSQL_ELEM - SQL ELEM

ABENSQL_ELEM - SQL ELEM

rdisp/max_wprun_time - Maximum work process run time   CPI1466 during Backup  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- sql_elem

... col
  $| literal $| @dobj $| @( expr ) ...


Wirkung

Elementarer Ausdruck in . Ein elementarer SQL-Ausdruck stellt einen der folgenden Werte dar:

  • Wert aus der Datenbank:

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:

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.
  • 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.

Konstante in der SELECT-Liste






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 )