Ingo Biermann
28. März 2018

Was sind AMDP?

Die Erläuterung eines jeden Akronyms (Abkürzung) beginnt meist mit dessen Aufschlüsselung, um so aus den einzelnen Begriffen die ursprüngliche Bedeutung schlusszufolgern. In diesem Fall jedoch entsteht folgendes Horrendum des IT-Berater Fachjargons.

Advanced Business Application Programming (ABAP) – Managed Database Procedures. (*Hust*)

Vielleicht war dieser Ansatz der Erläuterung nicht der effektivste, aber dafür relativ unterhaltsam. In diesem Bericht jedoch werden wir ganz von vorne anfangen, um nicht nur die Vorteile sondern auch die Herkunft dieser Technologie zu verstehen.

E-Book: SAP ABAP- und Fiori-Entwicklungsrichtlinien

Richtlinien zur Programmierung und Praxistipps zum Thema ABAP-Entwicklung.

Ursprung

Mit der Einführung von ABAP 7.4 SP02 wurde der sog. “Bottom-Up”-Ansatz durch die Einführung von Stored Procedures (“Gespeicherte Prozedur“) auf einer SAP HANA DB möglich. Dies führte zu zwei bedeutenden Vorteilen: Zum einen konnten vordefinierte Operationen auf der HANA Datenbank komfortabel realisiert werden und zum anderen konnte die Sicherheit der Datenbank erhöht werden, da die Menge an SQL-Queues reduziert werden konnte (Stichwort: SQL-Injection). Hier fand unter anderem eine der ersten Schritte zur Performancesteigerung statt.

Dieser Ansatz jedoch resultierte aufgrund des doppelten Lifecycles, welcher innerhalb von zwei unabhängigen Transportmechanismen stattfand, in einen erheblichen Mehraufwand. Entstand beispielsweise die Notwendigkeit zu einer normalen Änderung im SAP System, mussten sowohl Stored Procedures als auch die konsumierenden ABAP-Programme gleichermaßen angepasst werden. Mehr hierzu können Sie im folgenden Bericht meines Kollegens nachlesen.

AMDP – Top Down

In ABAP 7.4 SP05 wurde der “Top-Down”-Ansatz durch die Einführung von AMDP ermöglicht. Hierbei werden globale AMDP Klassen auf dem Applikationsserver des ABAP-Stacks erzeugt, welche die Definition von Stored Procedures inkludieren. Beim ersten Aufruf der Klasse wird die definierte Stored Procedure als HANA natives Objekt auf der HANA DB angelegt. Da sowohl die Implementierung der konsumierenden Klassen als auch die Gespeicherten Prozeduren auf dem ABAP-Stack liegen, kann der Transport auf das Standard-ABAP Transportwesen beschränkt werden. Dieser Ansatz ist die Grundlage des sogenannten Code Push-Downs.

Aufbau & Funktionalität von AMDP

Wie im vorherigen Abschnitt erläutert sind AMDP globale ABAP-Klassen, welche die Definition von Stored Procedures beinhalten. Tatsächlich wird die Prozedur in einer selbstdefinierten Methode im IMPLEMENTATION Bereich der Klasse beschrieben:

METHOD <meth> BY DATABASE PROCEDURE 
    FOR <db> 
    LANGUAGE <db_lang> 
    [OPTIONS <db_options>] 
    [USING <db_entities>]. 

< In diesem Bereich wird der SQL Skript Code eingefügt.>

ENDMETHOD.

Beim ersten Aufruf dieser Methode wird die Stored Procedure auf die Datenbank übertragen und dort als HANA natives Objekt angelegt. Bei zukünftigen Aufrufe ist die Prozedur direkt auf der Datenbank verfügbar, sodass eine erneute Übertragung nicht notwendig ist.

Fazit

Ich hoffe, dass ich mit diesem kurzen Bericht Ihnen näherbringen konnte, dass mittels AMDP ein verbesserter Ansatz für die Umsetzung von Stored Procedures entwickelt wurde und im Kontext des Code Push-Downs gesetzt werden sollte. Wenn Sie weitere Fragen haben, so können Sie gerne auf uns zugehen. Wir helfen Ihnen bei Ihren HANA bezogenen Fragen gerne weiter!

Beitragsbild-Wie Sie Ihre SAP-Systemlandschaft optimal auf S_4HANA vorbereiten
In diesem Webinar erfahren Sie, welche Technologien der SAP für der Umstieg auf S/4HANA wirklich wichtig sind und wie Sie das volle Potenzial von S/4HANA ausschöpfen.

Ingo Biermann

Ingo Biermann

Als Management- und Technologieberater unterstütze ich seit mehr als 15 Jahren große und mittelständische Unternehmen in Fragen der IT-Strategie und bin unterwegs in unterschiedlichen SAP-Themen wie SAP S/4HANA, User Experience und SAP Entwicklung.

Sie haben Fragen? Kontaktieren Sie mich!




Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.





Kontaktieren Sie uns!
Alexander Koessner-Maier
Alexander Kössner-Maier Kundenservice