Ansicht
Dokumentation

ABENABAP_SQL_PARAMETERS - ABAP SQL PARAMETERS

ABENABAP_SQL_PARAMETERS - ABAP SQL PARAMETERS

CPI1466 during Backup   CL_GUI_FRONTEND_SERVICES - Frontend Services  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- SQL-Parameterübergabe sql_para

... ( pname1 = act1, pname2 = act2, ... ) ...

Wirkung

Angabe von Aktualparametern act1, act2, ... für die Eingabeparameter pname1, pname2, ... einer CDS-Entität in einer geklammerten kommaseparierten Liste. Parameter können an folgenden Stellen von -Anweisungen an nicht-abstrakte CDS-Entitäten übergeben werden:

Wenn eine CDS-Entität als Datenquelle data_source einer Query bzw. target einer in einem Pfadausdruck angegebenen CDS-Assoziation Eingabeparameter hat, muss jedem Eingabeparameter wie folgt ein passender Aktualparameter übergeben werden:

  • Für einen Eingabeparameter der keine Annotation @Environment.systemField hat, muss ein expliziter Aktualparameter angegeben werden.
  • Für einen Eingabeparameter der eine Annotation @Environment.systemField mit einem der vordefinierten Werte #SYSTEM_... hat, muss kein expliziter Aktualparameter angegeben werden. Falls kein Aktualparameter angegeben ist, übergibt implizit den nominellen Wert des über die Annotation zugeordneten Systemfelds. Dabei werden aber nur Datum und Zeit aus den Systemfeldern sy-datum und sy-uzeit entnommen, während Sprache und Benutzername aus sicheren Quellen stammen.
  • Für einen Eingabeparameter der eine Annotation @Environment.systemField mit dem vordefinierten Wert #CLIENT hat, darf kein expliziter Aktualparameter angegeben werden. Statt dessen übergibt implizit die Kennung des aktuellen bzw. eines mit USING CLIENT angegebenen Mandanten.

Als Aktualparameter können Literale, Hostvariablen oder Hostausdrücke angegeben werden. Dem Namen einer Hostvariablen muss das Fluchtsymbol @ vorangestellt werden. Der Datentyp des Parameters muss in den eingebauten Datentyp des ABAP Dictionary, der durch die Typisierung des Parameters festgelegt ist, konvertierbar sein. Der Inhalt des Aktualparameters muss gemäß der Regeln für eine verlustfreie Zuweisung zum Datentyp des Eingabeparameters passen. Nur typisierte Literale werden direkt ohne Konvertierung übergeben.

In folgenden Fällen können die Klammern ( ) hinter dem Namen einer CDS-Entität leer sein oder weggelassen werden:

Bei CDS-Views ohne Eingabeparameter sowie bei allen Dictionary-Objekten können keine Klammern angegeben werden.

Hinweise

  • Es gibt derzeit keine optionalen Eingabeparameter von CDS-Entitäten und keine echten Ersatzwerte für Eingabeparameter. Die Annotation @Environment.systemField umgeht diese Lücke zumindest für einige Umgebungswerte, indem der Aufrufer die nicht-optionalen Parameter implizit versorgt.
  • Wenn Parameter an eine Entität mit Parametern übergeben werden, wird die Syntaxprüfung im strikten Modus ab 7.40 SP08 ausgeführt. Wenn ein Hostausdruck als Aktualparameter angegeben ist, wird die Syntaxprüfung im strikten Modus ab Release ausgeführt. Bei gleichzeitiger Verwendung eines Pfadausdrucks bzw. bei einer Parameterübergabe in einem Pfadausdruck wird die Syntaxprüfung imstrikten Modus ab Release ausgeführt.

Beispiel

Übergabe einer Zeitzone an den Eingabeparameter tz der CDS-View demo_cds_assoc_sairport_tz.

SELECT, CDS-View mit Eingabeparametern






General Material Data   ROGBILLS - Synchronize billing plans  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 7896 Date: 20240523 Time: 162904     sap01-206 ( 95 ms )