AMDP (ABAP Managed Database Procedures)

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 AMDPs werden 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 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 zugreiffen.

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.

Fazit

Für alle ABAP Entwickler ist das Thema AMDP interessant. Viele Anwendungsfälle lassen sich damit sehr performant und elegant lösen. Aber eine gute Kenntnis der Programmiersprache SQLScript ist hierzu erforderlich.

This post is also available in: English

Fordern Sie weitere Informationen an

Wollen Sie mehr Informationen?

Unverbindliche Anfrage