Ansicht
Dokumentation

ABENOPEN_SQL_HOST_EXPRESSIONS - OPEN SQL HOST EXPRESSIONS

ABENOPEN_SQL_HOST_EXPRESSIONS - OPEN SQL HOST EXPRESSIONS

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

- @( expr )

Syntax

... @( expr ) ...

Wirkung

Angabe eines Hostausdrucks in einer -Anweisung. Hostausdrücke sind ABAP-Ausdrücke expr, die in an Operandenpositionen angegeben werden können. expr ist eine allgemeine Ausdrucksposition. Es können alle dort möglichen Ausdrücke und Aufrufe sowie einzelne Datenobjekte angegeben werden.

Hostausdrücke können als elementare SQL-Ausdrücke an allen Operandenpositionen angegeben werden, an denen SQL-Ausdrücke möglich sind. Sie können zusätzlich auch an folgenden Lesepositionen vorkommen, an denen keine SQL-Ausdrücke möglich sind:

  • Operand n hinter UP TO.
  • Aktualparameter für Eingabeparameter von CDS-Views oder CDS-Tabellenfunktionen.

An Operandenpositionen, an denen Hostvariablen als SQL-Ausdrücke behandelt werden, gelten die zugehörigen Einschränkungen.

Die Hostausdrücke einer -Anweisung werden von links nach rechts ausgewertet und die Ergebnisse wie die Inhalte von Hostvariablen an die Datenbank übergeben. Es gelten folgenden Einschränkungen:

  • Hostausdrücke können nicht in dynamischen Tokens verwendet werden.
  • In einem Hostausdruck in einer SELECT-Liste kann für einen Konstruktorausdruck kein Datentyp aus der Operandenposition für das Zeichen # abgeleitet werden.

Hinweise

  • An den Operandenpositionen, an denen Hostausdrücke angegeben werden können, können immer auch Hostvariablen angegeben werden aber nicht umgekehrt.
  • An manchen Operandenpositionen, an denen Hostausdrücke verboten, Literale und Hostvariablen aber erlaubt sind, kann die Syntax @( literal ) und @( dobj ) verwendet werden. Sie wird dort nicht als Ausdruck, sondern als Literal bzw. Hostvariable behandelt.
  • Bei der Angabe von Hostausdrücken wird die Syntaxprüfung in einem strikten Modus ausgeführt, welche die Anweisung strenger behandelt als die normale Syntaxprüfung.

Beispiel

Bestimmung der rechten Seite eines Vergleichs in einer WHERE-Bedingung über einen funktionalen Methodenaufruf in einem Hostausdruck. Hierfür wird innerhalb des Hostausdrucks mit dem Instanzierungsoperator NEW ein temporäres Objekt erzeugt.

CLASS cls DEFINITION.
  PUBLIC SECTION.
    METHODS get_url RETURNING VALUE(url) TYPE scarr-url.
ENDCLASS.

CLASS cls IMPLEMENTATION.
  METHOD get_url.
    ...
  ENDMETHOD.
ENDCLASS.

START-OF-SELECTION.

  SELECT FROM scarr
         FIELDS carrname
         WHERE  url = @( NEW cls( )->get_url( ) )
         INTO TABLE @DATA(itab).






ABAP Short Reference   rdisp/max_wprun_time - Maximum work process run time  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 5894 Date: 20240523 Time: 105919     sap01-206 ( 63 ms )