In unserem Blogbeitrag "Externe HANA Views - Vorteile von automatisch generierten HANA Views” haben wir Ihnen das Konzept hinter den externen HANA Views vorgestellt. Ferner haben wir die Vorzüge und die Einschränkungen von HANA Views erläutert. Dies ist nun der zweite Teil unserer dreiteiligen Serie zu externen HANA Views. Nachdem Sie die Vorteile, aber auch die Einschränkungen, von SAP HANA Views kennengelernt haben, zeigen wir Ihnen in diesem Abschnitt, wie Sie die Views für die jeweiligen BW Objekte generieren können.
Unsere Blogreihe "Externe HANA Views" im Überblick
|
Um eine externe SAP HANA View für InfoObjekte zu generieren, öffnen Sie zunächst das InfoObject in Eclipse. Unter der Beschreibung des Merkmals finden Sie die Optionen “Externer SAP HANA-View für Stammdaten” und “Externer SAP HANA-View für das Reporting”. Wählen Sie die gewünschte Option aus und aktivieren Sie das Merkmal. Dabei wird auf der SAP HANA Datenbank eine HANA View erzeugt, die der Struktur des InfoObjects entspricht.
Beachten Sie bitte, dass virtuelle Stammdaten nicht unterstützt werden. Um die Berechtigungen in SAP HANA replizieren zu können, müssen den Benutzern die Berechtigungsobjekte S_TABU_LIN und S_RS_IOMAD zugewiesen werden.
Was die Verwendung von Hierarchien angeht, müssen einige Besonderheiten beachtet werden. Wenn Sie eine HANA View für ein InfoObject generieren, welches Hierarchien verwendet, so wird auch eine HANA View für Hierarchien generiert.
Wenn das InfoObject nicht als InfoProvider verwendet wird und die Einstellung “Externer SAP HANA-View für Stammdaten” aktiv ist, werden ein Stammdaten View und ein Hierarchie View generiert. Dieser interne Hierarchy View kann in einem Query View verwendet werden, um die Merkmalswerte in einer hierarchischen Struktur anzuzeigen.
Falls das InfoObject dagegen als InfoProvider verwendet wird und die Einstellung “Externer SAP HANA-View für Stammdaten” gesetzt ist, werden ebenfalls ein Stammdaten View und ein Hierarchie View zur internen Verwendung generiert. Daneben wird ein weiterer Hierarchie View für Reporting und Analyse erzeugt.
Die Namenskonvention für den internen Hierarchie View lautet <IOBJNM>_HIERARCHY. Dabei handelt es sich um einen Calculation View vom Typ DIMENSION. Dieser View kann in anderen SAP HANA Views verwendet werden, um die Merkmalswerte in einer hierarchischen Struktur darzustellen.
Der Hierarchie View für Reporting wird nach der folgenden Namenskonvention generiert: <IOBJNM>_REPORTING_HIERARCHY. Es handelt sich um einen Calculation View vom Typ CUBE. Dieser View kann eigenständig verwendet werden, um die Merkmalswerte in einer hierarchischen Struktur darzustellen. Die Bewegungsdaten werden dabei entsprechend aggregiert.
Als Eingabeparameter für beide Hierachie Views können Sie hieid (Hierarchie ID) und keydate (Stichtag) nutzen. Falls der Parameter keydate beim Aufruf nicht übergeben wird, wird standardmäßig das aktuelle Datum verwendet.
Basierend auf einem ADSO ist es ebenfalls möglich, eine externe SAP HANA View anzulegen. Setzen Sie dazu das Häkchen bei der Option “Externer SAP HANA-View” und aktivieren Sie das ADSO. Bei der Aktivierung des DataStore-Objekts wird eine SAP HANA View auf der HANA Datenbank erzeugt, die der Struktur des ADSOs entspricht.
Dabei darf das ADSO nur InfoObjekte beinhalten, die für das Reporting sichtbar sind. InfoObjekte mit der Einstellung “Keine Stammdatenprüfung / Kein Reporting” werden nicht unterstützt. Diese Einstellung wird pro Merkmal im Reiter Details gesetzt.
Falls Felder im ADSO verwendet werden, dürfen diese maximal 20 Zeichen im Namen enthalten. Dabei werden nur die folgenden Typen unterstützt:
Bei Kennzahlen werden folgende Typen unterstützt:
INT8, DATS oder TIMS Kennzahlen werden nicht unterstützt.
Sie können Calculation Views auch für Composite Provider generieren, die Sie in BW Modeling Tools angelegt haben. Setzen Sie dazu das Häkchen bei der Option “Externer SAP HANA-View” und aktivieren Sie den Composite Provider. Bei der Aktivierung des Composite Providers wird eine Calculation View auf der HANA Datenbank erzeugt, die der Struktur des Composite Providers entspricht. Allerdings gelten auch dabei einige Einschränkungen.
So werden die Daten von den folgenden InfoProvidern ausgeschlossen: Open ODS Views, die kein Calculation Scenario nutzen, Aggregationsebenen sowie InfoObjekten, die als InfoProvider genutzt werden, bei denen der Stammdatenzugriff auf eine andere Einstellung als Standard gesetzt ist. Wenn der Composite Provider nur aus diesen Merkmalen besteht, also Open ODS Views ohne Calculation Scenario, Aggregationsebenen und InfoObjekten ohne Standard Stammdatenzugriff, kann der HANA View nicht generiert werden.
Außerdem müssen Sie bei Open ODS views mit Calculation Scenario beachten, dass der SAP-Datenbankbenutzer des BW-Applikationsservers die SELECT-Berechtigung mit GRANT OPTION für die Tabelle oder den View haben, der auf den Open ODS-View zeigt. Darüber hinaus wird das Request Handling nicht unterstützt. Es werden immer alle Requests gelesen.
Wenn es um Berechtigungen geht, gibt es eine weitere Besonderheit zu beachten. So können Composite Provider auch native SAP HANA Tabellen bzw. Views enthalten. Diese können direkt oder über eine Open ODS View eingebunden werden. Die Berechtigungen, um auf diese nativen SAP HANA Objekte innerhalb von BW zuzugreifen, werden im BW verwaltet.
Zwar werden die BW Berechtigungen beim Anlegen der externen HANA View repliziert. Allerdings gilt es nicht für die Berechtigungen der nativen SAP HANA Objekte. Daher kann es vorkommen, dass derselbe Benutzer nicht auf die externe HANA View zugreifen kann bzw. dass die Daten in der HANA View nicht mit den im BW angezeigten Daten übereinstimmen.
Um dieses Problem zu lösen, können Sie entweder die Berechtigungsprüfung für die betroffene HANA View deaktivieren oder die Berechtigungen manuell in SAP HANA pflegen.
Neben den normalen Composite Providern können Sie auch lokale Composite Provider aus den Workspaces nutzen, um automatisch Calculation Views zu generieren. Dabei gelten dieselben Voraussetzungen wie bei normalen Composite Providern.
In BW4HANA werden die externen HANA Views im Workspace Designer angelegt. Um den Workspace Designer zu starten, wählen Sie unter Startseite den Menüpfad Modellierung → Workspace Designer. Das Workspace selbst können Sie unter dem Menüeintrag Konfiguration anlegen.
Wählen Sie anschließend den zuvor angelegten Composite Provider aus und klicken Sie auf Ändern.
Im Schritt Queries anlegen können Sie die Einstellung Externer SAP HANA-View für Reporting aktivieren.
Nach der Aktivierung wird die externe HANA View angelegt.
Wenn Sie mit BW on HANA arbeiten, können Sie das Workspace über die Transaktion RSWSP (Workspace Einzelbearbeitung) anlegen.
Um anschließend einen Lokalen Composite Provider über Workspace Designer anzulegen, nutzen Sie das Webinterface unter der folgenden URL:
https://<Web Server Host>:<Web Server Port>/sap/bc/webdynpro/sap/rsl_ui_my_workspace
Die nachfolgenden Schritte entsprechen denen auf BW4HANA, die ich bereits weiter oben beschrieben habe. Allerdings sieht die Webdynpro Oberfläche im Vergleich zu Fiori weniger stylisch aus.
Auch Queries können genutzt werden, um SAP HANA Views zu generieren. So können Sie den gewünschten Aufriss in der Query modellieren, um anschließend eine HANA View generieren zu lassen.
Dabei müssen Sie folgende Voraussetzungen beachten. Die Query muss einen ADSO oder Composite Provider basieren. Bei dem ADSO bzw. Composite Provider muss ebenfalls die Einstellung “Externer SAP HANA View” aktiv sein. Darüber hinaus darf der verwendete CompositeProvider keine mehrdeutigen Joins aufweisen.
Falls eine Hierarchie verwendet wird, muss für das InfoObject, auf welchem die Hierarchie definiert ist, ebenfalls eine SAP HANA View aktiv sein.
Außerdem werden eingabebereite Planungsqueries nicht unterstützt.
Wenn diese Voraussetzungen erfüllt sind, können Sie in BW Modeling Tools unter dem Reiter Allgemein, im Abschnitt Remote-Zugriff, die Einstellung Externe SAP HANA-View aktivieren. Beim Speichern der Query wird auf der SAP HANA-Datenbank eine der Query-Struktur entsprechende SAP HANA-View erzeugt.
Bei der Generierung der HANA View werden die Texte der Query-Elemente immer in der Anmeldesprache des Benutzers hinzugefügt. Bei Kennzahlen wird im HANA View die UID als technischer Name verwendet, falls kein technischer Name in BW Modeling Tools definiert ist. Sie können den technischen Namen in BW Modeling Tools unter Eigenschaften → Allgemein → Technischer Name anpassen.
Falls Sie in Ihrer Query globale Elemente wie Filter und Struktur verwenden, müssen Sie folgendes beachten. Wenn die Query in BW Modeling Tools verändert wird, wird die dazugehörige HANA View automatisch aktualisiert. Dies gilt jedoch nicht für globale Elemente wie z.B. globaler Filter oder globale Struktur. Wenn Sie diese ändern, wird die HANA View der Query nicht automatisch angepasst. Dies passiert erst nachdem Sie die Query erneut speichern.
Darüber hinaus kann es vorkommen, dass die Ergebnisse des HANA Calculation Views von den Ergebnissen der Query auf dem BW Applikationsserver abweichen können. Das liegt daran, dass die Calculation View keine Berechnungen wie zum Beispiel Nullunterdrückung ausführen kann.
So kann zum Beispiel eine HANA View generiert werden, wenn die Query bestimmte BW-Funktionen enthält. Diese werden jedoch von der HANA View ignoriert. Das gilt zum Beispiel für Bedingungen, Ausnahmen, Anzeigeoptionen wie Anzahl der Dezimalstellen, versteckte Kennzahlen sowie Nullunterdrückung. Eine vollständige Liste können Sie der SAP Hilfe entnehmen.
Wenn die Query konstante Selektionen, Zellendefinitionen oder Ausnahmeaggregationen enthält, kann keine HANA View generiert werden. In diesem Fall ist die Einstellung ausgegraut.
Wie Sie sehen, ist es ganz einfach, externe SAP HANA-Views anzulegen. Dabei müssen Sie bei der Einrichtung lediglich die Besonderheiten der darunterliegenden Objekte beachten. Nun, da wir diese ausführlich erklärt haben, zeigen wir Ihnen im nächsten Beitrag, wo im System die generierten HANA Views abgelegt werden.
Haben Sie Fragen zu HANA Views? Versuchen Sie das nötige Know-How in Ihrer Abteilung aufzubauen oder benötigen Sie Unterstützung bei einer konkreten Fragestellung? Wir helfen Ihnen gerne dabei. Fordern Sie noch heute ein unverbindliches Beratungsangebot an.