ABAP Managed Database Procedures (AMDP)

Die Integration von SAP HANA Prozeduren in ABAP Programmen ermöglicht datenintensive Anwendungslogik direkt in der Datenbank auszuführen. Nur die Ergebnisse müssen dann noch auf den Applikationsserver übertragen werden.
Dazu musste bisher zunächst die SQLScript Prozedur klassisch im SAP HANA Studio mit dem HANA Modeler angelegt werden. Danach konnte sie dann in ABAP konsumiert werden. Vor der Verfügbarkeit von ABAP 7.4 konnte man sich dazu relativ umständlich mit einem DB Connect behelfen. Seit ABAP 7.4 SP2 konnte dann mit Hilfe der ABAP Entwicklungsumgebung in Eclipse ein so genannter ABAP Proxy zur Kommunikation mit HANA generiert und auch das Typ-Mapping, falls erforderlich angepasst werden. In einer Mehrsystemlandschaft mussten ABAP und HANA-Objekte aber in jedem Fall getrennt transportiert werden.

ABAP Managed Database Procedures sind ein mit AS ABAP 7.40 SP05 neu eingeführtes Feature. Eine ABAP Managed Database Procedure ist eine in der Datenbank spezifischen Sprache geschriebene und in einer AMDP-Methode einer AMDP Klasse abgelegten Prozedur. Im Fall der Interaktion zwischen ABAP und HANA kann also SQLScript in ABAP eingebettet werden.

AMDPs sollen OpenSQL – Anweisungen nicht ersetzen. Laut offizieller Empfehlung der SAP ist der Einsatz immer dann sinnvoll, wenn die Logik mit OpenSQL nicht realisierbar wäre. Zudem können AMDPs auch in HANA Analyseprozessen im SAP BW verwendet werden.

Jede ABAP-Klasse welche AMDPs für HANA beinhalten soll muss das Interface IF_AMDP_MARKER_HDB referenzieren. Dann kann SQLScript in einer AMDP-Methode nach folgendem Muster direkt in ABAP eingebettet werden:

AMDP Example FIVE1

Exporting, Importing und Changing Parameters sind erlaubt, Returning Parameters dagegen nicht. Die Parameter müssen als Wert (und nicht als Referenz) übergeben werden. Als Datentypen sind für AMDPs nur Tabellen aus skalaren Datentypen oder skalaren Datentypen erlaubt.
AMDPs werden wie „normale“ ABAP Methoden aufgerufen. In einer AMDP können andere AMDPs, ABAP Views oder Tabellen verwendet werden. Laufzeitfehler können über die Transaktion st22 analysiert werden.

In einer Mehrsystemlandschaft müssen keine HANA Objekte transportiert werden. Es genügt der Transport der ABAP Objekte.

AMDPs setzen ABAP in Eclipse ab Version 2.19 voraus (siehe auch Installation von ABAP in Eclipse). D.h. ein editieren mit der ABAP Workbench in der SAP GUI ist nicht möglich.

AMDP Example FIVE1-2

Getagged mit: , , , , , ,

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*

*