SAP BW on HANA: Von SAP-HANA-Expertenskripten und SAP-HANA-Transformationen

Release SAP BW 7.4 SP11, SAP HANA SPS 98, BW-MT 1.11

SAP-HANA-Expertenskripte sind eine neue Variante des SAP BW Code-Pushdowns nach SAP HANA. Hierbei wird BW-managed (Prozessketten, DTP, Transformationen, Delta) eine Möglichkeit angeboten SAP HANA Views in das SAP BW zu integrieren und somit die Arbeit und Logik weg vom Applikationsserver hin zur SAP HANA zu verlagern. Die Art und Weise der Implementierung kann allein begrifflich etwas verwirrend sein, weswegen ich hier in einem eigenen Beitrag darauf eingehen will.

Allein die Anlage ist sehr gut versteckt und kam kaum dokumentiert in das SAP BW. Unter dem Menüpunkt „Bearbeiten“ > „Routinen“ > „SAP-HANA-Expertenskript anlegen“. Anschließend wird ähnlich der Expertenroutine grafisch die Verbuchung durch einen Pfeil ausgetauscht und generiert.

Generell aber geht die SAP mit SAP einen weiteren großen Schritt in Richtung „am besten integrierte, generische SAP Application auf SAP HANA“. So ziehen bereits in der aktuellen Version 7.4 SP5 viele Teile der Modellierung in die SAP HANA, wenn auch mir Kinderkrankheiten. So ist es aber überaus ratsam diesen Umzug zu wagen, da die Integration zwischen der in-memory Modellierung auf SAP HANA und die Integration mit SAP BW wesentlich einfacher über das SAP HANA Studio möglich ist. Einzig die jahrelange Entwicklung und die gestiegene Funktionalität fehlt noch an vielen Stellen (Hinweis: Einfügen mehrerer InfoObjekte gleichzeitig bei der Anlage eines advancedDSO).

Doch zurück zum eigentlichen Thema.

SAP-HANA-Expertenskript oder SAP-HANA-Transformation?

Die Unterschiede und der Aufbau des SAP-HANA-Expertenskripts und der SAP-HANA-Transformation mögen zunächst ungewohnt anmuten, aber wann tut es das nicht bei neuen Dingen der SAP…

Man setzt ein SAP-HANA-Expertenskript in der Transformation ein (keine Expertenroutine) und erhält dadurch eine SAP-HANA-Verarbeitung der Transformation. Dieses SAP-HANA-Expertenskript ist im Kern eine ABAP Managed Database Procedure (generiert), welche eine Methode PROCEDURE zur Anwendung des Skripts enthält. Diese generierte AMDP (mit automatisch generierter Typdefinition) und seiner Methode ist wiederum in einer SAP-HANA-Transformation als Datenanalyse eingetragen. Eine SAP-HANA-Transformation ist dabei wiederum nichts anderes als ein SAP-HANA-Analyseprozess.

Da eine SAP-HANA-Transformation eine Datenquelle und ein Datenziel hat, werden diese wiederum als generierte Column Views im Datenbankschema des SAP BW Users angelegt.

SAP BW on HANA 7.4: Übersicht der Transformationsroutinen

SAP BW on HANA 7.4: Übersicht der Transformationsroutinen

Wo finde ich die ganzen Dinge?

In der SAP BW Transformation selbst gibt es direkt ersichtlich nach Anlage des SAP-HANA-Expertenskripts den Button „SAP-HANA-Expertenskript“ (TA SE24), welcher direkt zum AMDP und der dazugehörigen Methode führt. Geht man stattdessen über das Menü auf „Zusätze“ > „Generierte HANA-Transformation anzeigen“  (TA RSDHATR) landet man direkt im SAP-HANA-Analyseprozess, welcher in der Datenanalyse den AMDP aufgeführt hat. All das kann man aber nur sehen, aber nicht bearbeiten. Eine Bearbeitung ist nur in den ABAP Tools des SAP HANA Studios möglich.

Im SAP HANA Studio unter den ABAP Tools findet man nach Anlage eines ABAP Projektes zu seinem SAP BW System neben der Systembibliothek die Favoritenpakete oder kurz sein eigenes $TMP Paket. Damit der Aktivierung alles generisch und temporär angelegt wird, landet das SAP-HANA-Expertenskript, im Kern ein AMDP, also eine Klasse, direkt im eigenen $TMP Ordner. Oder alternativ kann man auch die $TMP User anderer Benutzer hinzufügen. Achtung, transportierte AMDP landen im $TMP des Benutzer DDIC J Hat man den Namen der generierten Klasse parat, so kann man auch direkt über das Symbol im Menü „ABAP-Entwicklungsobjekt öffnen“ das SAP-HANA-Expertenskript öffnen.

Allerdings kann man die Transformation (wenn man den Namen aus dem SAP BW kopiert) auch direkt im SAP HANA Studio in den ABAP Tools öffnen. Oder alternativ die Favoritenpakete anderer Entwickler hinzufügen.

Im SAP HANA Studio unter den Columns Views des SAP BW Schemas findet man ebenfalls Fragmente der SAP-HANA-Transformation. Wenn man hier nach (möglichst einzigartigen) in der Transformation vorkommenden Merkmalen filtert, dann tauchen diese teilweise unter zwei SAP HANA Transformationen auf.

SAP-HANA-Expertenskript über mehrere InfoSources

Bei Einsatz eines SAP-HANA-Expertenskript muss eine SAP-HANA-Verarbeitung in allen Transformationen garantiert sein. Ansonsten kann kein Datentransferprozess ausgeführt werden.

Entweder garantiert man durch den Einsatz eines SAP-HANA-Expertenskripts in allen Transformationen die SAP-HANA-Verarbeitung oder befindet sich im Standard für eine automatische Aktivierung der SAP-HANA-Verarbeitung. Als Standard gilt dabei Folgendes

  • Nur DSO als Datenziel
  • Datenquelle muss PSA, DSP, InfoCube, MultiProvider oder SPOs sein
  • Kein Einsatz von ABAP in Form von Start-, End-, Experten- oder Merkmalsroutinen
  • Merkmalsmapping, -konvertierungen, -formeln oder das Nachlesen aus Stammdaten/DSO, wobei Nachlesen aus zeitabhängigen Stammdaten mit individuellen Stichtag nicht möglich sind im Standard.

Eine Mischung aus einer standardisierten SAP-HANA-Verarbeitung in Transformationen und eine nicht SAP-HANA-Verarbeitung in davor- oder nachfolgenden Transformationen ist möglich. Dabei werden die als SAP-HANA-Verarbeitung markierten Transformationen in der SAP HANA verarbeitet. Lediglich der gemischte Ansatz aus SAP-HANA-Expertenskript und nicht standardisierte SAP-HANA-Verarbeitung ist nicht möglich.

Beispiel: In der ersten Transformation lesen ich über SAP-HANA-Expertenskript das Ergebnis nach und in einer zweiten Transformation lese ich zeitabhängige Stammdaten aus einem zuvor ermittelten Datum nach. Das geht nicht, weil eine zeitabhängige Stammdatenermittlung in SAP HANA mit eigenem Stichtag (Systemdatum ausgenommen) nicht möglich ist, momentan.

SAP-HANA-Expertenskripte in der Architektur

Nachdem man bisher nur über ABAP bzw. zuletzt AMDP eine Integration in Transformationen hatte, entsteht hier eine neue Möglichkeit der Modellierung innerhalb des SAP BW und der Architektur. Hatte man zuvor noch einen Übertrag an Daten(paketen) an den Applikationsserver, auch durch AMDP, so wird dies in SAP-HANA-Expertenskripts komplett vermieden. Somit kann man erstmalig ganze Teile kundeneigenen Coding und deren Verarbeitung in die SAP HANA verlagern. Wobei es zu berücksichtigen gilt, ob zum Beispiel ein Einsatz eines Calculation Views immer notwendig ist (PREPARE Statement gegen SQL Optimizier bei nativen Join).

Auch die InfoSources können wieder gezielter und zur Trennung von Datenflüssen eingesetzt werden. Als Filtermöglichkeit des DTP hat man eine elegante Möglichkeit der Trennung von Logiken in SAP-HANA-Expertenskripten

Tendenziell kann man auch durch den Einsatz des JOIN-fähigen CompositeProviders viel mehr mit Schlüsselfeldern über alle Schichten des SAP BW arbeiten. So kann man tatsächlich aus der Eingangsschicht nur die Schlüsselfelder verbuchen um anschließend in der Transformation neue Kombinationen aus Schlüsseln oder Merkmalen und eigener Logik gestalten kann. Denn auch wenn nach wie vor eine komplette Virtualisierung attraktiv erscheint, so empfiehlt es sich gezielt die Daten zu Persistieren und dann darauf wieder zurückzugreifen bei weiterer, fortführender Logik.

Post a Comment

*