Ansicht
Dokumentation

ABAPOPEN_SQL_TARGET - OPEN SQL TARGET

ABAPOPEN_SQL_TARGET - OPEN SQL TARGET

SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up   ABAP Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Syntax

... dbtab$|view$|(target_syntax) $[USING CLIENT clnt$] $| $[CLIENT SPECIFIED$] ...

Alternativen:

1. ... dbtab$|view

2. ... (target_syntax)

Zusätze:

1. ... USING CLIENT clnt

2. ... CLIENT SPECIFIED

Wirkung

Die Angaben in target legen statisch oder dynamisch fest, auf welche Datenbanktabelle oder View zugegriffen wird, und regeln die Mandantenbehandlung. Es kann nur auf Views zugegriffen werden, deren Schlüsselfelder zusammenhängend am Anfang stehen.

Hinweis

Ändernde Zugriffe auf Tabellen oder klassische Views mit Vertreterobjekten erfolgen weiterhin auf die Datenbanktabelle bzw. die klassische View und führen zu einer Syntaxwarnung.

Alternative 1

... dbtab$|view


Wirkung

Für dbtab kann eine im ABAP Dictionary definierte Datenbanktabelle und für view eine klassische View angegeben werden.

Es können nur Views angegeben werden, die sich auf eine einzige Datenbanktabelle beziehen und deren Pflegestatus im ABAP Dictionary ändernde Zugriffe erlaubt. Es können keine externen Views oder CDS-Entitäten angegeben werden.

Hinweis

Alternative 2

... (target_syntax)


Wirkung

Statt der statischen Angabe kann ein eingeklammertes Datenobjekt target_syntax angegeben werden, das bei Ausführung der Anweisung den Namen der Datenbanktabelle bzw. View enthalten muss. Für das Datenobjekt target_syntax kann ein zeichenartiges Datenobjekt oder eine Standardtabelle mit zeichenartigem Zeilentyp angegeben werden. Die Syntax in target_syntax ist wie im ABAP Editor unabhängig von Groß- und Kleinschreibung. Ungültige Syntax führt zu einer behandelbaren Ausnahme der Klasse CX_SY_DYNAMIC_OSQL_ERROR. Siehe SQL-Injections über dynamische Tokens.

Hinweis

Die dynamischen Angaben von -Anweisungen können wie folgt die Kommentarzeichen * und " enthalten:

  • In einem als zeichenartigem Datenobjekt angegebenen dynamischen Token werden alle Inhalte ab dem ersten Kommentarzeichen " ignoriert.
  • In einem als interne Tabelle angegebenen dynamischen Token werden alle Zeilen ignoriert, an deren erster Stelle das Kommentarzeichen * steht. In den Zeilen werden alle Inhalte ab dem ersten Kommentarzeichen " ignoriert.

Zusatz 1

... USING CLIENT clnt

Wirkung

Dieser Zusatz stellt die automatische Mandantenbehandlung von so um, dass statt der aktuellen Mandantenkennung die in clnt vorhandene Mandantenkennung verwendet wird. Die ABAP-Laufzeitumgebung übergibt weder die Kennung des aktuellen Mandanten noch den in source angegebenen Mandanten sondern den in clnt angegebenen Mandanten an das Datenbanksystem.

Für clnt muss ein Datenobjekt vom Typ c der Länge 3 angegeben werden, das eine Mandantenkennung enthält. Es kann ein Literal oder eine Hostvariable mit vorangestelltem Fluchtsymbol @ angegeben werden. Der Zusatz darf nur beim Ändern einer mandantenabhängigen Tabelle bzw. einer solchen View und nicht gemeinsam mit dem Zusatz CLIENT SPECIFIED verwendet werden. Ein Angabe des Systemfelds sy-mandt hätte keine Wirkung und es darf nicht direkt für clnt angegeben werden.

Hinweise

  • Bei Verwendung des Zusatzes USING CLIENT arbeitet die -Anweisung so, als sei der aktuelle Benutzer mit der in clnt angegebenen Mandantenkennung angemeldet.
  • Wenn in clnt eine Mandantenkennung angegeben ist, für die es keinen Mandanten gibt, wird die SQL-Anweisung mit dieser Kennung ausgeführt und hat entsprechend keine Wirkung.
  • Bei dynamischer Angabe der Datenbanktabelle oder View kann der Zusatz USING CLIENT immer angegeben werden. Wenn dann keine Mandantenabhängigkeit vorliegt, wird er ignoriert.
  • Der Zusatz USING CLIENT ist nicht bei den obsoleten Kurzformen erlaubt.
  • Bei Verwendung des Zusatzes USING CLIENT wird die Syntaxprüfung in einem strikten Modus ausgeführt, welche die Anweisung strenger behandelt als die normale Syntaxprüfung.
  • Da jeder Mandant eine in sich abgeschlossene Einheit darstellt, sollte die automatische Mandantenbehandlung in Anwendungsprogrammen nie umgestellt werden.
  • Wenn auf Daten eines anderen Mandanten zugegriffen werden muss, ist USING CLIENT dem Zusatz CLIENT SPECIFIED vorzuziehen, da alle notwendigen Bedingungen implizit gesetzt werden.
  • Der Zusatz USING CLIENT ist nicht beim Zugriff auf globale temporäre Tabellen erlaubt.
  • Siehe auch den zugehörigen Sicherheitshinweis und die Programmierrichtlinie.


Zusatz 2

... CLIENT SPECIFIED

Wirkung

Dieser Zusatz schaltet die automatische Mandantenbehandlung von ab. Er darf nur beim Zugriff auf mandantenabhängige Datenbanktabellen oder Views und nicht gemeinsam mit USING CLIENT angegeben werden. Bei Verwendung des Zusatzes CLIENT SPECIFIED wird die in source angegebene Mandantenkennung berücksichtigt. Ohne den Zusatz CLIENT SPECIFIED übergibt die ABAP-Laufzeitumgebung nicht die in source angegebene Mandantenkennung an das Datenbanksystem, sondern die Kennung des aktuellen Mandanten.

Hinweise

  • Da jeder Mandant eine in sich abgeschlossene Einheit darstellt, sollte die automatische Mandantenbehandlung in Anwendungsprogrammen nie abgeschaltet werden.
  • Wenn auf Daten eines anderen Mandanten zugegriffen werden muss, ist USING CLIENT dem Zusatz CLIENT SPECIFIED vorzuziehen, da alle notwendigen Bedingungen implizit gesetzt werden und auch der Zugriff auf mandantenabhängige CDS-Entitäten einfacher ist.
  • Bei dynamischer Angabe der Datenbanktabelle oder View kann der Zusatz CLIENT SPECIFIED immer angegeben werden. Wenn dann keine Mandantenabhängigkeit vorliegt, wird er ignoriert.
  • Siehe auch den zugehörigen Sicherheitshinweis und die Programmierrichtlinie.
  • Der Zusatz CLIENT SPECIFIED ist nicht beim Zugriff auf globale temporäre Tabellen erlaubt.
  • Die Angabe des Zusatzes CLIENT SPECIFIED für mandantenabhängige Datenbanktabellen oder Views führt in den strikten Modi der Syntaxprüfung ab Release 7.40, SP05 zu einem Syntaxfehler und ansonsten zu einer Syntaxwarnung.





rdisp/max_wprun_time - Maximum work process run time   SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 9982 Date: 20240523 Time: 142622     sap01-206 ( 143 ms )