Ansicht
Dokumentation
ABENADBC_PROCEDURE - ADBC PROCEDURE
PERFORM Short Reference CL_GUI_FRONTEND_SERVICES - Frontend ServicesDiese Dokumentation steht unter dem Copyright der SAP AG.
- 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.
- Die Stored Procedures der SAP-HANA-Datenbank sind in SQLScript geschriebene Datenbankprozeduren. Für deren Verwaltung und Aufruf stehen in ABAP die ABAP Managed Database Procedures (AMDP) zur Verfügung. Weiterhin gibt es noch die spezielle Anweisung CALL DATABASE PROCEDURE, die auch einen Zugriff über eine Sekundärverbindung erlaubt.
- 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.
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 )