Stammdatenpflege durch den Endbenutzer in BW, BPC und SAC

Einleitung

Nicht immer kommen alle Stammdaten für Berichte im BW oder SAC aus einem Quellsystem. Dies kann für spezielle Gruppierungen oder für die Verwaltung eines Planungsprozesses gelten. Daher müssen die Benutzer die Stammdaten manuell direkt im Business Warehouse (BW) oder in der SAP Analytics Cloud (SAC) pflegen. Dieser Blog gibt Ihnen einen Überblick über die verschiedenen Möglichkeiten, die Sie haben und hilft Ihnen, die beste Lösung für Ihren Anwendungsfall zu wählen.

Zunächst wird ein Überblick über die für verschiedene Situationen verfügbaren Optionen gegeben. Anschließend wird jede Option im Detail erläutert.

Überblick über die verschiedenen Möglichkeiten

Reporting im BW – Individuelle Entwicklung

Eine kundenspezifische Lösung ist immer eine gute Option. Wenn Sie das Planungspaket in BW/4 nicht aktiviert haben, kann dies sogar die einzige Lösung sein, wenn eine BPC-Lizenz nicht möglich ist. Die Entwicklung kann einfach über ABAP, mit Web Dynpro oder UI5 erfolgen, je nach Ihren Fähigkeiten und Anforderungen.

Standard Webinterface für Stammdatenpflege

Die von SAP für die Stammdatenpflege bereitgestellte Weboberfläche kann auch von einem Endanwender genutzt werden. Mit den richtigen Einstellungen und Berechtigungen müssen Sie nicht befürchten, dass Benutzer Werte pflegen, die sie nicht ändern sollen.

Planning in SAP BPC mit AfO

Seit BW/4 ist es möglich, Stammdaten innerhalb einer eingabebereiten Query zu pflegen. Das ist insofern genial, als dass alle erforderlichen Eingaben (Planungs- und Stammdaten) innerhalb derselben Excel-Arbeitsmappe vorgenommen werden können. Bis BW 7.5 musste man immer auf die bereits erwähnten Lösungen zurückgreifen (Eigenentwicklung oder Standard Web Interface).

SAC mit embedded BPC

Im Prinzip gelten für die Verwendung von SAC mit eingebettetem BPC die gleichen Möglichkeiten wie für reines BPC. Allerdings gibt es eine kleine, aber wichtige Einschränkung: Es ist nicht möglich, neue Stammdaten über die SAC-Oberfläche anzulegen!

Wie man diese Lösung einrichtet und die Einschränkung (keine neue Zeile, also auch keine neuen Stammdaten) ist im folgenden Blog gut beschrieben: How-To Master Data Planning in SAC with a BPC Live Connection

Wenn Sie neue Stammdaten anlegen müssen, können Sie die normale Webschnittstelle für die Stammdatenpflege verwenden. Da Sie sich bereits in einem Browser befinden, ist dies kein kritisches Problem, abgesehen von der Tatsache, dass der Wechsel zwischen den beiden Optionen (neue Zeilen mit Webinterface – Attribute mit eingabebereiter Abfrage) einen Wechsel des Lademodus des Attributs zwischen Planning und Staging erfordert – Daher ist es einfacher, alles innerhalb des Webinterfaces zu erledigen.

Wenn Sie nur die Attribute eines Info-Objekts ändern müssen, ist diese Lösung gut geeignet.

SAC – Zurückschreiben der Daten in das BW

Eine Möglichkeit, einen neuen Stamm im BW über SAC anzulegen, ist die Option, Daten aus SAC in das BW zurückzuladen. Bei dieser Lösung laden Sie zunächst Stammdaten aus dem BW in die SAC, ändern dann die Daten in der SAC (siehe nächstes Kapitel) und schreiben am Ende die Daten zurück in das BW. Es ist kein Problem, neue Stammdaten zurückzuschreiben, da dies ein normaler Ladevorgang im BW ist.

Natives SAC Planung

In der nativen SAC-Planung können Sie Stammdaten innerhalb der normalen Pflegesicht ändern. Normalerweise ist dies jedoch nicht das, was Sie für den Anwender wünschen und kann nicht in eine ansprechende SAC – Anwendung integriert werden. Mit einigen Skripten können Sie jedoch neue Stammdaten anlegen oder Felder bestehender Einträge aktualisieren. Mit der neuen Unified Story ist das kein Problem. Aber Achtung – Versionsattribute können nicht per Skript geändert werden!

Dies wird in dem folgenden Blog ausführlich beschrieben: Maintain Master Data in Planning Model – Sap Analytics Cloud (SAC)

SAC – Zurückladen der Daten in das BW

Wenn Sie alle Daten bereits in SAC vorliegen haben, können Sie natürlich die Daten dort ändern und die Stammdaten zurück in SAP laden. Das klingt nach einem komplizierten Weg, aber wenn Sie Ihre Planung in SAC durchführen und die Plandaten zurück ins BW laden, warum nicht auch die Stammdaten?

Dies ist ähnlich wie das, was wir in unserem Blog beschreiben Daten aus der SAC mit dem ODATA-Service in ein BW exportieren wenn Stammdaten wieder in das BW geladen werden.

Weitere Details für

Individuelle Entwicklungen mit ABAP / Web Dynpro / UI5

Dies ist die flexibelste Lösung für eine Web – Schnittstelle zur Pflege von Stammdateninformationen. Allerdings sind die Entwicklungskosten im Vergleich zu allen anderen Lösungen normalerweise höher. Zusätzlich zu Ihren BW-Kenntnissen benötigen Sie Entwicklungskenntnisse (für ABAP / Web Dynpro / UI5, je nach Ihrer Wahl).

Diese Lösung kann der einzige Weg sein, wenn nur die Stammdatenpflege ohne weitere Planungsanforderungen erforderlich ist, um Lizenzgebühren für die Planung in BW/4 zu sparen. Diese Einsparungen müssen mit den Entwicklungskosten in Ihrem Fall verglichen werden.

Stammdatenpflege über das Webinterface

Die Stammdatenpflege kann auch eine Lösung für den Endbenutzer sein. Es gibt flexible Möglichkeiten, die Benutzer auf die Attribute zu beschränken, die geändert werden können (sehr wichtig, wenn Sie nicht wollen, dass sie z.B. Attribute aus dem Quellsystem ändern), sowie auf die Stammdaten, die sie ändern dürfen. Es handelt sich also um eine einfache und flexible Out-of-the-Box-Lösung mit geringem Implementierungsaufwand.

Auch die Massendateneingabe wird durch diese Schnittstelle unterstützt. Fügen Sie mehrere Zeilen in eine neue Zeile ein, werden alle Zeilen verarbeitet!

Um einzuschränken, für welche Werte eines Schlüsselfeldes der Benutzer eine Berechtigung hat, müssen Sie die Option „Stammdatenkonfiguration mit Berechtigungsprüfung“ ankreuzen, wie im letzten Kapitel der SAP – Hilfe beschrieben. Editing the Properties of Master Data/Texts

Die Einschränkung der Attribute, die geändert werden können, ist in den Customizing-Einstellungen für das BW/4 versteckt, aber in einem Hinweis gut beschrieben 2335724 – Changing Authorizations for Master Data Maintenance

Pflege mit einer eingearbeiteten Query in AO

Seit BW/4HANA 1.0 SP 08 ist es möglich, Stammdaten über eine eingabebereite Query im AO zu pflegen. Diese Option ermöglicht eine enorme Flexibilität, z.B. um den Benutzer einzuschränken und zu bestimmen, was über normale Abfragefilter und Berechtigungen gepflegt werden soll. Sie ist auch einfach und schnell zu implementieren, wenn Sie bereits Planungsfunktionen verwenden. Eine ausführliche Beschreibung aller Details finden Sie in diesem Blogbeitrag: How-to Master Data Planning in SAP BW/4HANA

Wenn Sie neue Stammdaten zulassen wollen, müssen Sie den RSADMIN-Parameter BICS_NEW_MASTER_DATA wie in Hinweis beschrieben setzen. 2508938 – BICS: New line check service and master data planning (ABAP)

Mit diesem Kennzeichen können neue Stammdaten innerhalb einer eingabebereiten Query auf Infoobjekten eingegeben werden, aber nicht während der Planung auf einem aDSO. So können Sie bei der Stammdatenpflege neue Einträge anlegen, während der „normalen“ Planung sind jedoch keine neuen Stammdaten möglich und die Datenkonsistenz ist gewährleistet.

Im folgenden Screenshot sehen Sie auf der linken Seite eine Abfrage auf ein Info-Objekt, für das wir den Planungsmodus zugelassen haben. Jetzt kann ich neue Stammdaten anlegen, z.B. das Attribut NEW.

Auf der rechten Seite sehen Sie eine klassische Planung auf einem aDSO. Hier sind nur bestehende Stammdaten erlaubt, d.h. solange NEW nicht gespeichert ist, können keine Plandaten für dieses Attribut erfasst werden.

Bezüglich neuer Werte für Infoobjekte, die als Attribut in unserem Infoobjekt „Demo-Stammdaten“ verwendet werden, ist SAP nicht konsistent. Bei der Planung des Infoobjekts scheint es, dass auch neue Stammdaten für z.B. „Buchungskreis“ erlaubt sind und Daten gespeichert werden können (hier 0666). Es wird jedoch nur eine SID erzeugt, aber kein Eintrag in der Stammdatentabelle. Sie können also diesen „neuen“ Buchungskreis nicht in der Planung in einem aDSO verwenden. Diese Funktionalität wird benötigt, wenn Sie Kommentare über Attribute als Kennzahlen erfassen wollen. Das ist aber eine andere Geschichte.

SAC und Standard-Stammdatenpflege – Webinterface

Im Prinzip ist dies eine sehr einfache Lösung: Rufen Sie einfach die gewünschte URL von einer SAC-Seite aus auf, entweder in einem Popup oder in einer separaten Registerkarte. Denken Sie daran, das System in der URL zu ersetzen, wenn Sie vom Entwicklungs- zum Produktivsystem wechseln.

Nach dem Upgrade auf SAP BW/4 2021 SP05 gab es Probleme beim Aufruf der SAP-Web-Oberfläche zur Stammdatenpflege als Popup. Innerhalb eines Popups war keine Pflege möglich, der Cursor verwandelte sich in ein Stoppschild und wir mussten dazu übergehen, stattdessen die URL als neuen Tab aufzurufen (NavigationUtils.openUrl(„URL“,true);)

Überblick

Die erste Tabelle gibt Ihnen einen Überblick darüber, welche Lösung in welchem Fall verwendet werden kann. Die zweite Tabelle zeigt Ihnen die wichtigsten Einschränkungen und Vorteile der einzelnen Lösungen.

BW – Release

BPC SAC Mögliche Option
      Individuelle Entwicklung Standard Web Interface AfO SAC mit embedded BPC SAC – Zurückladen der Daten Native SAC
< 7.5 Inkludiert Nein X X
7.5 Inkludiert Nein X X
7.5 Inkludiert Ja X X X
BW/4 Nicht inkludiert Nein X X
BW/4 Aktiviert Nein X X X
BW/4 Nicht inkludiert Ja X X X
BW/4 Aktiviert Ja X X X X X
No Nein Ja X

 

 

Beschreibung Anforderungen Vorteil Einschränkung
Individuelle Entwicklung ABAP

Web Dynpro und / oder UI5 Know-how

sehr flexibel

Keine Planungslizenzen (BW/4)

Großer Aufwand in der Implementierung
Standard Web – Interface für Stammdaten-pflege Web – Interface Flexible Einschränkung auf Attribute und Werte möglich

Sehr geringer Implementierungsaufwand (nur Link- und Autoritätspflege)

Keine Änderung an der Schnittstelle möglich

 

Stammdaten Planning über AfO BW/4

AfO – PlugIn

Planungs Know-how

Schnelle Implementierung

Flexibilität

Planungslizenz erforderlich
SAC Schnittstelle mit embedded BPC Planungs Know-how Web interface flexibel Keine neuen Stammdaten
Native SAC SAC Flexibel über script Keine Änderung der Stammdaten für die SAP-Version
SAC Zurückladen der Daten in das BW SAC und BW Flexible über script Die Daten müssen zuerst vom BW in die SAC und dann zurück geladen werden.

Fazit

Alle beschriebenen Lösungen wurden in verschiedenen Projekten eingesetzt! Es hängt von Ihren Anforderungen und Ihrer bevorzugten Schnittstelle ab, welche für Ihre Situation am besten geeignet ist.  Sie sollten immer die verschiedenen Optionen im Hinterkopf haben, vielleicht gibt es eine mit weniger Aufwand für die Implementierung.

 

Anmerkung

SAC Verhalten getestet auf dem Release 2023.16.4

Data Products Setup

I’ll start with Data Products setup. If you’re new to the concept, this recent video is a great starting point, but here’s a short summary. A data product is a well-described, easily discoverable, and consumable collection of data sets.

Creating a Data Product in Datasphere

Note that in this article I create Data Products in the Data Sharing Cockpit in Datasphere. This functionality is expected to move into the Data Product Studio, but that had not taken place at the time writing.

Before creating a Data Product in Datasphere, I need to set up a Data Provider profile, collecting descriptive metadata like contact and address details, industry, regional coverage, and importantly define Data Product Visibility. Enabling Formations allows me to share the Data Product with systems across your BDC Formation – Databricks, in this case.

With the Data Provider set up, I can go ahead and create a Data Product. As with the Data Provider, I’ll need to add metadata about the product and define its artifacts – the datasets it contains. Only datasets from a space of SAP HANA Data Lake Files type can be selected. Since this Data Product is visible across the Formation, it is available free of charge.

For this demo, the artifact is a local table containing ten years of Ice Cream sales data. Since this is a File type space, importing a CSV file directly to create a local table isn’t an option (see documentation).

I used a Replication Flow to perform an initial load from a BW aDSO table into a local table.

Once Data Product is created and listed, it becomes available in the Catalog & Marketplace, from where it can be shared with Databricks by selecting the appropriate connection details.

Jump into Databricks

To use the shared object In Databricks, I need to mount it to the Catalog – either by creating a new Catalog or using an existing one.

Databricks appends a version number to the end of the schema – ‘:v1’ – to maintain versioning in case of any future changes to the Data Product.

Once the share is mounted, the schema is created automatically, and the Sales actual data table becomes available within it. From there, I can access the shared table directly in a Notebook.

Creating a Data Product in Databricks

To create a Data Product in Databricks, I first need to create a Share – which I can either do via the Delta Sharing settings in the Catalog:

Or directly out of the table which is going to become a part of the Share:

Since a single Share can contain multiple tables, I have the option to either add the table to an existing Share, or create a new one:

To publish the Share as a Data Product, I run a Python script where I define the target table for the forecast and describe the Share in CSN notation, setting the Primary Keys. Primary Keys are required for installing Data Products in Datasphere.

Jump back into Datasphere

Once the Databricks Data Product is available in Datasphere, I install it into a Space configured as a HANA Database space – since my intention is to build a view on top of the table and use it for planning in SAC.

There are two installation options: as a Remote table for live data access, or as a Replication Flow, in which case the data is physically copied into the object store in Datasphere.

Since I want live access, I install it as a Remote Table:

and build a Graphical view of type Fact on top:

Forecast calculation

With my Data Products set up and Sales actual data are available in Databricks, I create a Notebook to calculate the Sales Forecast.

The approach combines Sales and Weather data to train a Linear Regression model. I import the Weather data *https://zenodo.org/records/4770937 from an external server directly into Databricks, select the relevant features from the weather dataset, and combine them with the Sales actual data:

* Klein Tank, A.M.G. and Coauthors, 2002. Daily dataset of 20th-century surface
air temperature and precipitation series for the European Climate Assessment.
Int. J. of Climatol., 22, 1441-1453.
Data and metadata available at http://www.ecad.eu

Using the “sklearn” library, I build and train a Linear regression model:

Once trained, the model predicts the Sales forecast for Rome in June 2026 based on the weather forecast, and I save the results to my Catalog table:

Seamless planning data model

Seamless planning concept is built around physically storing planning data and public dimensions directly in Datasphere, keeping them alongside the actual data.

Since the QRC4 2025 SAC release, it has also been possible to use live versions and bring reference data into planning models without replication.

In this scenario, I build a seamless planning model on top of the Graphical view I created over the Remote table. This lets me use the forecast generated in Databricks as a reference for the final SAC Forecast version.

 

The model setup follows these steps:

Create a new model:

Start with data:

Select Datasphere as the data storage:

From there, I define the model structure and can review the data in the preview.

For a deeper dive into Seamless Planning, I recommend this biX blog.

Process Flow automation

Multi-action triggers Datasphere task chain

The final step is automating the entire forecast generation by using SAC Multi-actions and a Task-Chain in Datasphere – so that my user can trigger the calculation with a single button click from an SAC Story.

The model setup follows these steps:

Create a new model:

Triggering Task Chains from Multi-actions is a recent release. This blog post walks through how to set it up.

For details on how to trigger a Databricks Notebook from Datasphere, I recommend referring to this blog.

With everything in place, I create a Story, add my Seamless planning Model, and attach the Multi-action:

Running the Multi-action triggers the Task Chain, which in turn triggers the Databricks Notebook.

I can monitor the execution details in Datasphere:

and in Databricks:

Once the calculation completes, the updated forecast appears in the Story:

The end-to-end calculation took 2 minutes 45 seconds in total. The Task Chain in Datasphere is triggered almost instantly by the Multi-action, the Databricks Notebook execution itself took 1 minute 29 seconds, with the remaining time spent on Serverless Cluster startup.   

 

From here, I can copy the calculated forecast into a new private version:

adjust the numbers as needed, and publish it as a new public version to Datasphere:

Conclusion

With SAP Business Data Cloud, it is possible to build a forecasting workflow that feels seamless to the end user — even though it spans multiple systems under the hood.

Companies using BW as the main Data Warehouse and Databricks for ML calculations or Data Science tasks can benefit from using the platform, as the data no longer needs to be physically copied out of BW.

What this scenario demonstrates is that once wrapped as a Data Product, BW sales data can be shared with Databricks via the Delta Share protocol. Databricks, in turn, can then create its own Data Products on top of the calculation results and share them back with Datasphere as a Remote Table.

A Seamless Planning model in SAC sits on top of that Remote Table, giving planners live access to the generated forecast. A single Multi-action in an SAC Story ties it all together, triggering a Datasphere Task Chain that kicks off the Databricks Notebook — completing the full cycle in under three minutes.

As SAP Business Data Cloud continues to mature, scenarios like this one are becoming achievable – leaving the complexity in the architecture and not in the workflow.

Ansprech­partner

Ilya Kirzner
Consultant
biX Consulting
Datenschutz-Übersicht

Diese Website verwendet Cookies, damit wir dir die bestmögliche Benutzererfahrung bieten können. Cookie-Informationen werden in deinem Browser gespeichert und führen Funktionen aus, wie das Wiedererkennen von dir, wenn du auf unsere Website zurückkehrst, und hilft unserem Team zu verstehen, welche Abschnitte der Website für dich am interessantesten und nützlichsten sind.