Ansicht
Dokumentation

ABENADBC_PROCEDURE - ADBC PROCEDURE

ABENADBC_PROCEDURE - ADBC PROCEDURE

PERFORM Short Reference   CL_GUI_FRONTEND_SERVICES - Frontend Services  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- Stored Procedures

Für das Ausführen von Stored Procedures bietet die Klasse CL_SQL_STATEMENT die Instanzmethode

  • EXECUTE_PROCEDURE

Die Methode hat einen obligatorischen Eingabeparameter PROC_NAME vom Typ string, dem der Name einer vorhandenen Stored Procedure übergeben werden muss. Ähnlich wie bei DML-Anweisungen können mit der Methode SET_PARAM ABAP-Datenobjekte als Aktualparameter an die Formalparameter der Stored Procedure angebunden werden. Dabei muss mit dem zusätzlichen Parameter INOUT die Art des Parameters bestimmt werden. Mögliche Werte sind in den Konstanten C_PARAM_IN, C_PARAM_OUT und C_PARAM_INOUT der Klasse CL_SQL_STATEMENT definiert. Der Wert C_PARAM_IN der Standardwert ist. Die Reihenfolge der Aufrufe bestimmt von links nach rechts die Zuordnung zu den Formalparametern.

Hinweise

  • Die Methoden SET_PARAM_STRUCT und SET_PARAM_TABLE können nicht verwendet werden. D.h. Strukturen und interne Tabellen können nicht an Aktualparameter angebunden werden. Auf Datenbanken, welche dies erlauben, kann eine Stored Procedure auch über die Methode EXECUTE_QUERY aufgerufen werden, welche das Anbinden von internen Tabellen an die Ergebnismenge ermöglicht. Siehe Beispiel unten.
  • Mit EXECUTE_PROCEDURE können Prozeduren mit Ein- und Ausgabeparametern aber keine Funktionen mit Rückgabewerten aufgerufen werden. Funktionen werden in SQL direkt an geeigneten Operandenpositionen verwendet.
  • Bei der Parameterübergabe findet ein Mapping zwischen den ABAP-Typen und den Datenbanktypen statt. Die ABAP-Typen sollten zu den Datenbanktypen passen. Andernfalls müssen in der Native-SQL-Schnittstelle Konvertierungen vorgenommen werden, die plattformabhängig sind und zu Ausnahmen führen können.

Beispiel

Aufruf einer über AMDP verwalteten SQLScript-Prozedur der SAP-HANA-Datenbank über ADBC. Vor dem Aufruf über ADBC muss mit einer Methode der Klasse CL_AMDP_RUNTIME_SERVICES dafür gesorgt werden, dass die Prozedur auf der Datenbank vorhanden ist. Bei einem Aufruf über die zugehörige AMDP-Methode wäre dies nicht notwendig.

Beispiel

Aufruf einer Stored Procedure der SAP-HANA-Datenbank über die Methode EXECUTE_QUERY. Die Stored Procedure ist eine über AMDP verwaltete SQLScript-Prozedur mit tabellarischem Ausgabeparameter. Durch die Anbindung des Null-Werts an den Ausgabeparameter wird für diesen auf der Datenbank eine temporäre Tabelle erzeugt, welche über SET_PARAM_TABLE mit einer internen Tabelle result verknüpft werden kann.

ADBC, Stored Procedure






General Data in Customer Master   ABAP Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 4971 Date: 20240523 Time: 153113     sap01-206 ( 77 ms )