SAP HANA Daten­bank als Grund­lage für be­stehende SAP BW In­stalla­tionen

Immer mehr Anwender von SAP Systemen imple­men­tieren die SAP HANA Daten­bank als Grund­lage für die be­stehende SAP BW In­stalla­tionen. Der Vor­teil einer SAP HANA Daten­bank für ein BW System ist, dass beim An­legen von BW Ob­jekten SAP HANA-Views gen­eriert werden können. Alle gene­rierten SAP HANA Views sind vom Typ Calculation View. Durch die Gene­rierung von SAP HANA Views werden BW Daten nach SAP HANA publiziert, wobei diese SAP HANA Views direkt auf die Daten und Ta­bellen zeigen. Damit können die BW Daten direkt in SAP HANA kon­sumiert werden. Es ist nicht em­pfohlen, von BW Systemen er­stellte Calculation Views auf der SAP HANA Datenbank zu ändern, da die Calculation Views jederzeit vom BW System erneut über­schrieben werden können (Quelle: help.sap.com).

Manu­elle Zu­wei­sung von Privi­legien sorgt für hohen Auf­wand und ist fehler­an­fällig

Um nun die Calculation Views selek­tieren zu können, be­nötigt ein Be­nutzer auf der SAP HANA Daten­bank die ent­sprechenden HANA Privi­legien. Die Zu­weisung des Privi­legs erfolgt manuell über einem Ad­mini­strator. Eine manuelle Zu­weisung von Berech­tigungen ist nicht sehr performant und kann, je nach Anzahl von zu be­rechtigenden Calculation Views, sehr schnell mehrere Stunden oder sogar Tage in An­spruch nehmen.
In diesem Blog­beitrag stellen wir eine Mög­lich­keit vor, wie das Be­rechtigen von Calculation Views auto­matisiert erfolgen kann. Dieser Auto­mati­sierungs­prozess gilt auch für die Calculation Views, die direkt auf der SAP HANA Daten­bank er­stellt werden.

Be­nötigte Daten­bank­objekte

Um das Be­rechtigen von Calculation Views auf der SAP HANA Daten­bank zu auto­matisieren, müssen einige SAP HANA Daten­bank­objekte angelegt und ent­sprechend konfiguriert werden. Die folgende Tabelle lieft hierzu die nötige Übersicht und Be­schreibung.
SAP HANA Datenbankobjekt Beschreibung

Calculation View

Die Calculation View wird aus dem BW-System auf der SAP HANA Datenbank erstellt.

CSV

Durch die CSV Datei wird die Wartung von (neuen) Calculation View Berechtigungen vereinfacht. Hier werden die Rollen an die zu berechtigenden Calculation Views zugeordnet.

HDBTable

Durch die HDBTABLE wird eine Datenbanktabelle erzeugt, die den Inhalt der CSV Datei reflektiert.

HDBTI

Das HDBTI Objekt füllt die HDBTABLE mit dem Inhalt aus der CSV Datei.

HDBSchema

Für einige Datenbankobjekte muss ein HDBSCHEMA Objekt angelegt werden, z.b. Stored Procedure oder HDBTABLE.

Role

In die HANA Rollen werden die SELECT Rechte von Calculation Views entsprechend der Zuordnungstabelle (CSV) hinzugefügt.

Stored Procedure

Die Prozedur ermittelt die nicht berechtigten Calculation Views und führt die Berechtigung durch.

XS Job

Der XS Job ruft die Stored Procedure auf.

XS Job Schedule

Ein XS Job Schedule steuert die Ausführung des XS Jobs mittels eines XS Crons.

Technical User

Der Technischer User führt den XS Job aus.

Beispiel­szenario

Die Repository Rolle authorization.roles.calulationview::SELECT_CALCULATION_VIEW soll mit einem SELECT Privileg für die Calculation View MyCalcView er­weitert werden. Der Zustand der Repository Rolle vor der Zu­weisung verfügt über keine Objekt Privi­legien. Dies kann in HANA Studio unter HANA Ad­mini­str­ations­sicht wie folgt geprüft werden.
Die Repository Rolle authorization.roles.calulationview: :SELECT_CALCULATION_VIEW soll mit einem SELECT Privileg für die Calculation View MyCalcView er­weitert werden. Der Zustand der Repository Rolle vor der Zu­weisung verfügt über keine Objekt Privi­legien. Dies kann in HANA Studio unter HANA Ad­mini­str­ations­sicht wie folgt geprüft werden.
  1. Filtern der Runtime Rollenname unter Security/Role
  2. Öffnen der Objekt Privilegien Tab der Runtime Rolle

Die zu berechtigende Calculation View befindet sich in der Repository unter dem Pfad bigcube.app.vha und wird wie folgt in die Steuerungstabelle eingetragen.

  1. CATALOG_ROLE_NAME: Hier muss die Rollen­name ohne Wildcard ein­getragen werden.
  2. CALCULATION_VIEW_PATH: Hier wird der Pfad ein­getragen (Wildcard möglich)
  3. CALCULATION_VIEW_NAME: Hier wird der Name der Calculation View ein­getragen (Wildcard möglich).

Die CSV Datei kann mit Microsoft Excel ge­öffnet werden. Das Prozent Zeichen dient in der Excel Tabelle als eine Wild­card. Der Pfad wird hier mit einem Wildcard ver­sehen und der Name des Calculation Views wird am Ende mit einer WildCard ein­getragen. Der Wild­card ist für die Spalten CALCULATION_VIEW_PATH und CALCULATION_VIEW_NAME be­liebig ein­setzbar, zum Bei­spiel auch im View Namen MyCalcView%. Nachdem die Steuerungs­tabelle fertig ge­pflegt ist, muss die CSV Datei ge­speichert und aktiviert werden. Erst danach ist das Mapping gültig.

Der XS Job wird nun das Mapping gemäß der Steuerungs­tabelle durch­führen. Sobald das Mapping durch­geführt wurde, wird die Rolle um das ent­sprechende Calculation View Be­rechtigung (SELECT) automatisch er­weitert.
  1. Filtern der Runtime Rollen­name unter Security/Role
  2. Öffnen der Objekt Privi­legien Tab der Runtime Rolle
  3. Öffnen von Objekt Privi­legien des aus­gewählten Objekts (Calculation View)
Jede Ausführung eines XS Jobs erzeugt einen Log­eintrag in der Log­tabelle. Damit die Log­tabelle auch ent­sprechend aufgeräumt wird, muss für das Auf­räumen der Log­tabelle gesorgt werden. Das Auf­räumen kann in der Stored Procedure, die durch dem Tech­nischen User aufgerufen wird, er­folgen.

Fazit

Die anzulegenden HANA Native Daten­bank­objekte müssen je nach Kunden­an­forderung an­gepasst und definiert werden.
  • HDBSchema
  • HDBTable
  • HDBTI
  • CSV
  • XS Job
  • Technical User
Die folgenden HANA Native Daten­bank­objekte werden je nach Kunden­anforderung imple­mentiert. In diesen Ob­jekten wird die Logik der Auto­mati­sierung inte­griert. Hierbei unter­stützen Sie gerne unsere Experten aus dem Team SAP Basis (mehr über SAP Basis und Hana Platform Services erfahren >>).
  • Stored Procedure
  • XS Job Schedule
  • HDBRole
Mit diesem Prozess können nun die Calculation Views auf der SAP HANA Daten­­bank auto­­matisiert be­rechtigt werden. Die Steuerung der Calculation View Berechtigugen er­folgt an einer zen­tralen Stelle in Form einer Excel Tabelle. Somit kann man sich den manuellen Auf­wand, um neue Calculation Views zu be­rechtigen sparen. Die Auto­mati­sierung ist auch für andere HANA Native Objekte möglich, zum Beispiel HDBSchema, HDBView, HDBTable, HDBdd …

Verfasst von Veli Hasanca

Jetzt Kontakt aufnehmen

Beitrag teilen

Share on linkedin
Share on xing
Share on facebook
Share on twitter
Share on whatsapp
Share on email

Weitere spannende Themen aus unserem Newsroom

Gleich zwei Gründe zum Feiern im Mai

BIG.Cube GmbH feiert 7-jähriges Jubiläum und eröffnet zweiten Standort in...

Mehr lesen

Coding-Tag am Erasmus-Grasser-Gymnasium München

Um Jugendliche schon in jungem Alter für Informatik-Berufe zu begeistern,...

Mehr lesen
BIG.Cube spendet an die Stiftung AKM

Weihnachtsspende an die Stiftung AKM

Auch im letzten Jahr gab es eine Weihnachtspende von der...

Mehr lesen