Sie verwenden keine aktuelle Browser-Version. Deshalb wird die Webseite möglicherweise nicht korrekt dargestellt. Hier finden Sie weitere Hinweise.

DWC Import von BW/4HANA Analyseberechtigungen – erste Erfahrungen

Inhaltsverzeichnis

Die SAP Data Warehouse Cloud (DWC) bietet die Möglichkeit den Zugriff auf die Daten im Reporting mittels Datenzugriffskontrollen (DAC – Data Access Controls), ähnlich wie mit den Analyseberechtigungen im klassischen BW/4HANA, einzuschränken. Zur Wiederverwendung der Analyseberechtigungen in der DWC stellt die SAP ein Tool zur Verfügung, um diese aus dem BW/4HANA in die DWC zu übernehmen. Dieser Blog wirft einen ersten Blick auf dessen Möglichkeiten.

Die ersten Releases der DWC kannten bei Berechtigungen für das Reporting nur eine binäre Umsetzung: User, welche eine Berechtigung für das Reporting in einem Space hatten, konnten alle Daten des jeweiligen Space sehen. Eine feinere Steuerung wie im BW/4HANA über Berechtigungsobjekte und Analyseberechtigungen war nicht möglich. Durch die Einführung von Datenzugriffskontrollen (DAC – Data Access Controls) in der DWC ist es nun möglich, für einen User ein oder mehrere Filterkriterien (Berechtigungsmerkmale und Werte) zu definieren, über die dann der Zugriff auf die Daten zeilenbasiert gesteuert werden kann. Die Details zu Datenzugriffskontrollen und den möglichen Konzepten sollen hier aber nicht tiefer betrachtet werden. Vielmehr soll die Möglichkeit beschrieben werden, wie man Analyseberechtigungen aus einem BW/4HANA in der DWC und deren Datenzugriffskontrollen verfügbar machen kann. Diese Option wurde durch die SAP in den neueren Releases der DWC geschaffen und erweitert. Das Vorgehen zur eigentlichen Übernahme der Analyseberechtigungen in die DWC kann in der Hilfe zur DWC und in einem SAP-Blog (Einführung von Remote-Berechtigungen von SAP BW/4HANA in der SAP DWC) gefunden werden. Dieser Blog hier wird sich mit einigen interessanten Details beschäftigen, die sich im Rahmen einer Umsetzung ergeben haben. Im Einzelnen sind dies:

  • Voraussetzungen im BW/4HANA zur Übernahme des Berechtigungsmodells
  • Der Extraktionsreport RSDWC_DAC_RSEC_EXTRACT zur Übernahme der Berechtigung
  • Beispiele für die Umwandlung der Analyseberechtigungen in das DWC Format
  • Umsetzung in der DWC

Es sei erwähnt, dass es neben der Option das Berechtigungsmodell aus einem BW-System zu importieren, auch die Möglichkeit besteht, die Berechtigungen aus einem S/4 System zu importieren. Die Beschreibung dieses Weges wird ebenfalls in einem SAP-Blog vorgestellt (Integrieren Sie Ihre Analyseberechtigungen wie Ihre Daten). Die Funktionsweise ist ähnlich der für die Übernahme der BW Analyseberechtigungen, auch wenn in einem S/4HANA nicht ganz so detaillierte Optionen bei der Berechtigung vorhanden sind.

Voraussetzungen im BW/4HANA zur Übernahme des Berechtigungsmodells

In der DWC sind die Voraussetzungen zur Übernahme seit Q4/2021 vorhanden. Für die Übernahme des kompletten Modells in den Modeltransfer, ist eine DWC ab dem Stand 2022.03 notwendig.
Auf Seiten des BW/4HANA Systems muss es ein BW/4HANA 2.0 mit Support Package 10 oder höher sein. Ist der Support Package Stand geringer, müssen entsprechende OSS-Hinweise eingespielt werden. Dies sind u.a. die OSS-Hinweise 3049056, 3084315, 3062380 und 3062381. Der OSS-Hinweis 3062380 muss dabei über eine transportbasierte Korrekturanleitung (TCI) eingespielt werden, wozu ggf. entsprechende Berechtigungen erforderlich sind. Der OSS Hinweis 3062381 ist nur eine Beschreibung des Vorgehens. Soll der Zugriff auf die Datenzugriffskontrollen remote mit einem Modelltransfer erfolgen, so muss auch der OSS-Hinweis 3123817 eingespielt werden. Es besteht mittlerweile auch die Option, die Berechtigungen aus einem SAP BW 7.5 zu übertragen.

Auf Seiten des BW/4HANA Systems muss das jeweilige Datenmodell vorhanden sein, d.h. ein InfoProvider (CompositeProvider) auf dem das Reporting im BW/4 basiert. Auf diesem CompositeProvider müssen die entsprechenden Analyseberechtigungen definiert worden sein. Die für den Import in die DWC vorgesehenen User müssen diese Analyseberechtigungen für den InfoProvider zugewiesen haben. Die Analyseberechtigungen werden mit der Transaktion RSECADMIN im BW definiert und einem User zugeordnet. In dem hier genutzten Beispiel ZCA638_DE_DE für eine Analyseberechtigung werden dem User für den CompositeProvider die zwei dort genutzten Berechtigungsobjekte ZCA_LAND und ZCA_ORG mit entsprechenden Berechtigungen vergeben.

Abbildung 1: Analyseberechtigung im BW/4HANA (InfoProvider, Berechtigungsmerkmale und User) für das Exportmodell in die DWC

Der Extraktionsreport RSDWC_DAC_RSEC_EXTRACT

Die o.g. Berechtigungen sind die Grundlage für die Übertragung und Umsetzung der Berechtigungen in die Datenzugriffskontrollen in der DWC. Die Übersetzung aus dem BW/4HANA in die Datenzugriffskontrollen der DWC erfolgt mit Hilfe des Reports RSDWC_DAC_RSEC_EXTRACT. Dieser befüllt im BW/4 die Berechtigungstabelle RSDWC_RSEC_DAC, in der die umgewandelten Berechtigungsdaten abgelegt werden, bevor diese Daten der DWC verfügbar gemacht werden. Im Report RSDWC_DAC_RSEC_EXTRACT besteht auch die Möglichkeit der Übersetzung des Users von dem Usernamen im BW/4 zur Userkennung in der DWC. Der SAP-Standard des Reports geht per Default davon aus, dass der Username in der DWC gleich der Mailadresse ist, welche in der Userpflege des BW/4 des jeweiligen Users hinterlegt ist (das Feld Mailadresse in der Transaktion SU01 / SU01D). Ist dies nicht der Fall (wie in dem Fallbeispiel für den Blog, in dem keine DWC Usernamen im Format von Mailadressen genutzt wurden), dann sieht der Report eine Möglichkeit vor, diese Nutzernamen zu übersetzen. Die Übersetzung erfolgt über eine Erweiterungsimplementierung im BAdI RSDWC_DAC_RSEC_USER_UPDATE. Hier kann der entsprechende Wert in der Spalte BWUSER für den User im BW/4 mit dem gewünschten Wert für die UserID in der DWC in der Spalte USERIDENTIFIER übersetzt werden. Im vorliegenden Beispielfall wird dazu das ADSO ZCA638A3 verwendet, um mehrere User übersetzen zu können. In der Spalte USERNAME des ADSOs ist die UserID im BW/4 hinterlegt, in der Spalte ZCADWCUID die UserID in der DWC. Die Erweiterungsimplementierung des BAdIs liest das ADSO aus und stellt die Werte daraus zur Verfügung.

Abbildung 2: Beispiel für eine Erweiterungsimplementierung für den BAdI RSDWC_DAC_RSEC_USER_UPDATE zur Übersetzung der UserID BW/4 in die UserID der DWC

Der Report RSDWC_DAC_RSEC_EXTRACT kann auch über die Transaktion RSDWC_DAC_RSEC_GEN ausgeführt werden. Im Selektionsbildschirm kann auf die jeweiligen User und die relevanten InfoProvider eingeschränkt werden.

Abbildung 3: Selektionsbildschirm des Extraktionsreports RSDWC_DAC_RSEC_EXTRACT

Das Ergebnis lässt sich in der Tabelle RSDWC_RSEC_DAC überprüfen. In der Abbildung 4 ist die Analyseberechtigung oben dargestellt. Links der allgemeine Teil, rechts das Detail zum Objekt Land (hier Berechtigung auf DE). Der Bildteil unten stellt die Übersetzung in der Berechtigungstabelle RSDWC_RSEC_DAC in der Detailsicht dar. Man erkennt, dass die Berechtigungswerte zu den einzelnen Merkmalen in entsprechende SQL-Statements umgesetzt wurden. So wird der Wert für das Berechtigungsmerkmal ZCA_LAND = ´DE´ in das SQL-Statement zca_land IN (´DE´) übersetzt.

Abbildung 4: Umsetzung der Analyseberechtigungen in die Werte für die Datenzugriffskontrollen der DWC in der Tabelle RSDWC_RSEC_DAC

Das Berechtigungsmerkmal ZCA_ORG basiert in den Analyseberechtigungen auf einer Hierarchieberechtigung zu einem Knoten (ZCA_ORG Number 01). Dieser stellt einen Knoten in der Hierarchie ZCA_ORG Number Hierarchy dar, welcher die Blätter AT01, CH01, DE01, DK01, PL01, SE01 und UK01 unter sich hat. Siehe hierzu die Definition der Hierarchie im oberen Teil der Abbildung 5 und der Definition der Analyseberechtigung unten rechts. Auch hier wird die BW/4 Analyseberechtigung in ein SQL-Statement mit einem IN Konstrukt übersetzt: zca_org IN (´AT01´, ´CH01´, ´DE01´, …), da es aktuell in der DWC nicht möglich ist DACs auf Hierarchieknoten zu definieren.

Abbildung 5: Umsetzung einer Hierarchieberechtigung auf Kontenebene in ein SQL-Statement für die DWC Datenzugriffskontrolle

Beispiele für die Umwandlung der Analyseberechtigungen in das DWC Format

Nach dem Vorstellen der ersten Umsetzungen stellt sich die Frage, ob alle Feinheiten der in den Analyseberechtigungen möglichen Spielarten umgesetzt werden können. Die Analyseberechtigungen kennen sehr viele Möglichkeiten, Berechtigungen zu definieren. Neben dem bekannten ´*´ gibt es auch noch Muster, Einzelwerte und Intervalle. Nicht zu vergessen, die unzähligen Möglichkeiten bei Hierarchien (Beschränkung auf Versionen, Zeitbezug, aggregierte Werte, usw.). Hier alle Möglichkeiten aufzuführen, würde den Rahmen dieses Blogs sprengen. Ein paar wichtige Umsetzungen sollen aber genannt werden.

Umsetzung von Berechtigungen ´*´ bzw. 0BI_ALL auf einem Berechtigungsmerkmal:
Für Merkmale kann in den Analyseberechtigungen auch mit Mustern gearbeitet werden. Das bekannteste Muster ist das Muster für alle Werte, der ´*´. Hier setzt der Umsetzungsreport in der Tabelle dann für das Merkmal die Datenzugriffskontrolle auf „nicht relevant“. Es werden in der DWC somit alle Werte angezeigt.
Bei der Analyseberechtigung 0BI_ALL wird dies genauso gehandhabt. BW/4HANA User mit dieser Berechtigung erhalten bei den Datenzugriffskontrollen für das entsprechende Berechtigungsmerkmal in der DWC ebenfalls den Eintrag „nicht relevant“.

Umsetzung von Berechtigungen mit Intervallen:
Für ein Merkmal können die Berechtigungen auch mit Intervallen hinterlegt werden. Für das Merkmal ZCA_ORG aus dem Beispielmodell sind Daten mit den Werten DE01, DE02, DE03, AT01, AT02, CH01, DK01, PL01, SE01 und UK01 enthalten. Wird hier nun ein Intervall AT01 – DE03 berechtigt, so wird dies ebenfalls im SQL mit dem BETWEEN Statement umgesetzt.

Abbildung 6: Umsetzung eines Berechtigungsintervalls in ein BETWEEN SQL-Statement

Umsetzung von Berechtigungen mit Mustern:
Bei den Mustern gibt es ferner die Möglichkeit, für Merkmale auch auf dedizierte Muster einzuschränken. Also bspw. für das Merkmal ZCA_ORG nur die Organisationseinheiten mit ´DE*´, also ´DE01´, ´DE02´, ´DE03´. Hier wird für die DWC Datenzugriffskontrollen mit dem SQL Ausdruck ´DE%´ gearbeitet.

Abbildung 7: Umsetzung eines Musters für ein Berechtigungsobjekt in den DWC Datenzugriffskontrollen

Umsetzung der Aggregationsberechtigung:
Nutzt man für ein Berechtigungsmerkmal eine Aggregationsberechtigung (also mit dem Muster EQ = ´:´), so führt dies dazu, dass in der Tabelle RSDWC_RSEC_DAC, welche über den Report RSDWC_DAC_RSEC_EXTRACT gefüllt wird, keine Berechtigungsmerkmale mehr umgesetzt werden. Nur noch die Benutzernamen und der InfoProvider werden gefüllt. Die Felder für die DAC Filter bleiben leer. In der geschützten View der DWC werden keine Daten angezeigt. Die Umsetzung für diese Art der Berechtigung funktioniert also nicht.

Wie man sieht ist die Logik, die aus den Analyseberechtigungen des BW/4HANA die entsprechenden DWC Datenzugriffskontrollen erstellt, fast schon als magisch zu bezeichnen. Die Umwandlung der meisten Anwendungsfälle für die Analyseberechtigungen stellen kein Problem dar. Einzig bei Spezialfällen der Analyseberechtigungen, wie den Aggregationsberechtigungen auf Merkmalen, kommt es zu Schwierigkeiten bei der Umsetzung. Hierarchien stellen darüber hinaus in der DWC einen Sonderfall dar, da diese erst platt geklopft werden müssten und / oder über spezielle Konstrukte nachgebildet werden müssen. Derzeit scheint das Umsetzungstool hier noch an seine Grenzen zu stoßen.

Umsetzung in der DWC

Das Übertragen des Modells des InfoProviders bzw. der Umsetzungstabelle erfolgt anschließend über den Data Builder bzw. über einen Wizzard in der DWC. Dazu muss eine Verbindung in dem Space mit dem BW/4HANA Systems eingerichtet werden. Der Wizzard übernimmt dabei nicht nur die Daten, wie im Extraktionsreport beschrieben (also ggf. mit der Umwandlung der UserIDs), sondern legt auch gleich das entsprechende Modell für die Datenzugriffskontrollen in der DWC an. Dies kann als remote View auf das BW/4HANA System erfolgen, oder  auch dediziert in entsprechenden Tabellen in der DWC. Diese müssen dann aber regelmäßig in der DWC aufgefrischt werden, um evtl. Anpassungen im BW/4HANA System auch in die DWC zu bringen. Dafür kann in der DWC ein Job eingerichtet werden.

Seit den Upgrades im Februar 2022 bietet die DWC auch, das gesamte Modell aus dem BW/4HANA System (der InfoProvider mit den dazugehörigen Anaylseberechtigungen der User) per Wizzard in die DWC zu übertragen und dort als vollständiges Modell abzulegen an. Damit entfällt die manuelle Arbeit des Zusammenführens der View mit den Datenzugriffskontrollen mit der View der transaktionalen Daten. Der Wizzard erstellt eine fertig eingerichteten „Protected View“ des Datenmodells, in dem für die User schon die Daten gemäß den Datenzugriffskontrollen der DWC beschränkt sind. Diese View kann dann für das Reporting konsumiert werden.

Zur Verdeutlichung des Testfalls wollen wir die Daten in der DWC nachfolgend betrachten. Werfen wir zunächst einen Blick auf die transaktionalen Beispieldaten.

Abbildung 8: Transaktionale Daten in der DWC

Die unten aufgeführten Berechtigungen (Abbildung 9), die die aktuell in der DWC gehaltenen Berechtigungsdaten darstellen, sollen als Grundlage, zusammen mit den transaktionalen Daten von oben, für die geschützte View dienen. Wie man sieht, ist nur der Zugriff auf ZCA_LAND = DE und ZCA_ORG = DE02 berechtigt. Das wären nur drei Datensätze aus den oben gezeigten transaktionalen Daten.

Abbildung 9: Replizierte Datenzugriffskontrolldaten für den Testuser in der DWC

Wie schaut dann die erzeugte View in der DWC aus? In der View Sicht des Data Builders ist dieseView in der Bezeichnung und im technischen Namen klar erkennbar.

Abbildung 10: Der generierte, eingeschränkte View im Data Builder der DWC

Betrachtet man diese View nun im Detail, erkennt man neben dem generierten SQL-Script, dass Datenzugriffskontrollen generiert wurden (Data Access Controls im rechten Pop-up). Die Datenvorschau zeigt, dass der angemeldete User nur Daten für ZCA_LAND = DE und ZCA_ORG = DE02 sieht.

Abbildung 11: Die Datenvorschau im eingeschränkten View in der DWC

Man kann also die Datenvorschau nutzen, um die Auswirkungen der Berechtigungen in der DWC zu testen. Neben der Replizierung der Daten nach einer Änderung im BW/4HANA System muss dazu nur der User im Extraktionsreport angegeben werden, der dann auch in der DWC genutzt wird.

Fazit

Wird die DWC nicht als stand-alone System genutzt, sondern in Verbindung mit bestehenden SAP BW/4HANA (oder S/4HANA) Systemen, so stellt sich früher oder später die Frage nach einem umfassenden Berechtigungswesen. Mit der hier beschriebenen Möglichkeit, welche die SAP standardmäßig anbietet, steht eine weitere Option für das Berechtigungswesen in der DWC zur Verfügung. Hat man die erwähnten Klippen, wie das Einspielen der OSS-Hinweise oder die Übersetzung der UserIDs erfolgreich umschifft, steht ein sehr taugliches Tool zur Verfügung. Damit wird auf Basis eines SQL-Scripts die Möglichkeit geschaffen, die allermeisten Analyseberechtigungen des etablierten BW/4HANA Systems auch in der DWC nutzen zu können. Einzig bei ein paar Spezialfällen kommt es (derzeit noch?) zu Einschränkungen bzgl. der Umsetzung. Einem übergreifenden Berechtigungskonzept steht daher ein weiterer Baustein zur Verfügung – die genaue Konzeption und Betrachtungen dazu sind aber ein Thema für einen weiteren Blog.

Nehmen Sie Kontakt zu uns auf!

    Mit der Erhebung, Verarbeitung und Nutzung meiner personenbezogenen Daten zur Bearbeitung meiner Anfrage erkläre ich mich einverstanden. Ich kann mein Einverständnis jederzeit ohne Angabe von Gründen widerrufen. Weitere Informationen finden Sie in unserer Datenschutzerklärung.