AMDP – ABAP Managed Database Procedures

Mit den ABAP Managed Database Procedures, kurz AMDP gelingt es der SAP, die Performance der SAP HANA Datenbank in ABAP Entwicklungen einfach nutzbar zu machen. Dabei handelt es sich um ein Framework, das mittlerweile nicht nur SQLScript Prozeduren, sondern auch Funktionen umfasst und mit den CDS-Table Functions auch die Erstellung von in SQLScript programmierten Views erlaubt.

Auf dieser Seite habe ich ein paar nützliche Links zu diesem Thema zusammengetragen.

Anwendungsfälle von AMDP

Die Technik der ABAP Managed Database Procedures wird für unterschiedliche Szenarien eingesetzt. Das wahrscheinlich wichtigste ist die Verwendung im SAP BW/4HANA:

AMDP für SAP BW/4HANA Transformationsroutinen

Mit dem BW on HANA hat die SAP die Ausführung von Data Transfer Prozessen (DTPs) neu implementiert. Und zwar direkt auf der HANA Datenbank. Das hat eine enorme Beschleunigung gebracht und die Laufzeiten ca. um den Faktor 10 reduziert. Eine Voraussetzung für diese HANA Ausführung ist allerdings, dass keine ABAP Routinen in den Transformationen verwendet werden.

Die Alternative zu ABAP Routinen sind Prozeduren in SQLScript. Diese werden bei der Entwicklung als AMDP Methoden erfasst. Der Rahmen dieser Klassen und Methoden wird vom BW-System passend zur Transformation generiert. Der Entwickler muss dann noch den SQLScript-Code erfassen. Eine tiefergehende Kenntnis von der Definition von Datenbankprozeduren ist nicht notwendig.

AMDP in ABAP Programmen

Die Nutzung von SQLScript ist vor allem dann sinnvoll, wenn es sich

  1. um große Datenmengen handelt und
  2. auf die Laufzeit ankommt.

Beides ist im SAP BW gegeben, weshalb AMDP hier eine große Rolle spielt. Wenn diese Faktoren aber auch auf ein ABAP Programm in S/4HANA zutreffen, dann können wir auch hier SQLScript über AMDPs nutzen. Entweder um direkt auf der Datenbank Prozeduren auszuführen. Diese können lesend und schreibend auf Tabellen zugreifen.

Oder in Form von CDS-Table Functions als programmierte Views. Diese werden in SQLScript als Funktion implementiert. Eine CDS-Entität dient dann als Wrapper darum, um sie für ABAP Programme zur Verfügung zu stellen. Sie können dort wie ein DDic-View in einer SELECT-Abfrage genutzt werden.

Blog Artikel zum Thema AMDP

Webinar SQLScript im SAP BW/4HANA

Webinar: SQLScript im SAP BW/4HANA

m Februar habe ich für die Bitech AG ein Webinar für die Kunden der Bitech AG in Leverkusen mit dem Thema „SQLScript im SAP BW/4HANA …

Das AMDP Framework

Das AMDP Framework liefert einen einfachen Weg, mit dem Datenbankprozeduren in SQLScript in ABAP Programmen und BW-Transformationsroutinen genutzt werden können. Ein Auszug aus der 2. …

AMDP-Prozeduren

Mit AMDP-Prozeduren kann im ABAP ganz einfach und elegant komplexere Anforderungen in der SAP HANA Datenbank auslagern. Ein Auszug aus der 2. Auflage meines Buches „SQLScript …

AMDP Debugging in Transformationsroutinen

Mit AMDP Debugging in Transformationsroutinen im BW/4HANA können Fehler leicht gefunden werden. Ein Auszug aus der 2. Auflage meines Buches „SQLScript für SAP HANA“, erschienen …
Webinar AMDP

Webinar: SQLScript & AMDP im SAP BW

Webinar: SQLScript und AMDP im SAP BW Das Webinar hat am 13.9.2019 live online stattgefunden. Nutzen Sie bereits ein SAP BW on HANA oder SAP BW/4HANA? Und …

Mit AMDPs können auch viele Dinge gelöst werden, wo es nicht um Performance noch um Massendaten handelt. Manchmal ist die Sprache SQLScript auch einfach besser geeignet für die Lösung eines Problems. Zum Beispiel gibt es mit den Window Functions eine einfache und elegante Alternative für Berechnungen in LOOPs, in denen wir

  • in einer Variable Werte aus dem vorherigen Schleifendurchlauf speichern und
  • Im Gruppenwechsel mit AT NEW diese Variable wieder löschen und
  • mit dieser Variable zeilenübergreifende Berechnungen durchführen.

Diese Algorithmen sind fehlerträchtig und lassen sich in SQLScript häufig sehr elegant mit der Verwendung einer Window Function lösen.

AMDP Beispiel

This post is also available in: English