Customer Exit Variablen in Datasphere erklärt

Beitrag teilen über

Mit SAP Datasphere entwickelt SAP seine Datenplattform konsequent weiter in Richtung Cloud-Zukunft. Für viele BW-Anwender stellt sich die Frage: Wie bilde ich gewohnte BW-Konzepte wie Customer Exit Variablen in der neuen Welt ab? Die Antwort: Abgeleitete Variablen in SAP Datasphere. Ist diese Antwort aber valide? 

In diesem Beitrag beleuchten wir die neuen sogenannten abgeleiteten Variablen (Derived Variables) durch die Demonstration eines typischen Customer Exit Anwendungsfall in SAP Datasphere und versuchen, diese Antwort in der Praxis zu prüfen. 

Was sind Customer Exit Variablen in SAP BW?

In SAP BW erlauben Customer-Exit-Variablen (Typ “Customer Exit”) die dynamische Ermittlung von Variablenwerten zur Laufzeit. Zum Beispiel den ersten Tag des aktuellen Monats, den aktuellen Benutzer oder eine komplexe Hierarchiestufe. Die Logik wird in ABAP über das User-Exit Include ZXRSRU01 (bzw. BADI_RSR_VARIABLES_EXIT) umgesetzt und bietet große Flexibilität. 

Typische Einsatzszenarien:

  • Automatische Auswahl von Zeiträumen
  • Einschränkung von Daten je nach Benutzerrolle
  • Logikgesteuerte Filterwerte in Queries

Abgeleitete Variablen in SAP Datasphere – Was ist das?

Mit den abgeleiteten Variablen bietet SAP Datasphere ein vergleichbares Konzept. Diese werden innerhalb einer Analytischen Modells (Analytical Model) definiert. Anders als in BW wird die Logik nicht in ABAP, sondern in der grafischen Oberfläche oder mittels SQL Script abgebildet. 

Eine abgeleitete Variable ist eine Variable, deren Wert nicht direkt vom Benutzer eingegeben wird, sondern automatisch vom System über eine Nachschlagetabelle (Lookup-Entität) ermittelt wird. Diese Lookup-Entität kann z.B. eine Tabelle oder ein View sein, in dem die relevanten Informationen hinterlegt sind. 

Die Ableitung funktioniert so, dass basierend auf einem bekannten Eingabewert (wie etwa einem Land) automatisch ein dazugehöriger anderer Wert (wie z.B. die passende Währung) gefunden und gesetzt wird. Dieser abgeleitete Wert wird nicht im Eingabedialog angezeigt, weil der Nutzer ihn nicht direkt sieht oder ändert. Er wird im Hintergrund vom System bestimmt. 

Abgeleitete Variablen: Ein Anwendungsbeispiel:

Abgeleitete Variablen sind ideal für Anwendungsfälle, in denen man standardisierte Filterwerte dynamisch benötigt in etwa wie:

  • Das automatische Filtern auf den aktuellen Tag/Woche/Monat
  • Filterung auf den eingeloggten Benutzer zur Dateneinschränkung
  • Dynamische Berechnung von Zeiträumen ohne Benutzereingabe

Im folgenden Beispiel werden wir ein Anwendungsfall demonstrieren, indem wir Datumsfelder einer Faktenquelle dynamisch durch selbstdefinierte Zeitintervalle festlegen. Dabei sollen Intervalle nicht durch manuelle Eingabe von Datumswerte, sondern durch die einfache Auswahl einer Intervalldefinition festgelegt werden.

Fact View Variablenauswahl
Fact View Variablenauswahl

Implementierungsschritte:

Damit die Input Variablen eine dynamische Herleitung aus einer Lookup Entität haben statt der manuellen Eingabe werden drei Views mit der Semantic Usage „Dimension“ benötigt:

1. Dimension: 

Dimension Tag kann mit wenig Aufwand in der Space Konfiguration generiert werden.

2. Dimension: Zeitintervalle  

Die Dimension der Zeitintervalle ist eine View, hinter der eine SQL-Logik steht, die in diesem Anwendungsfall die Definition der Auswahlliste mit dynamischer Datumzuordnung festlegt. Unabhängig von diesem Demo Fall muss diese View nicht zwingend nur die Verarbeitung von Daten unterstützen. Sie kann jedes beliebige Eingabeobjekt definieren. 

3. Dimension: Lookup Entität.  

Diese View ist notwendig für Assoziation mit dem Analytic Model und sie muss nach der Eingabe von Input Parameter immer nur ein Wert zurückgeben. 

Die folgende Grafik zeigt das Zusammenspiel aller drei Dimensionen: 

Ablauf Variablenprocessing Fact View
Ablauf Variablenprocessing Fact View
1. Dimension Zeitintervalle:

Für unseren Use Case benötigen wir zwei dynamische Auswahlwerte: Current Month & Last Month. Um diese Werte durch eine View zu realisieren, bauen wir eine SQL Abfrage, die folgende Spalten zurückgibt: 

Angenommen der heutige Tag wäre 22.05.2025, dann wäre die Rückgabe wie folgt:

Beschreibung Startdatum Enddatum
Current Month 01.05.2025 01.04.2025
Last Month 31.05.2025 30.04.2025

Hierfür wird die folgende SQL Abfrage verwendet:

Dimension für Variablenlogik
Dimension für Variablenlogik
2. Dimension Lookup Entität:

Die Lookup Entität ist das Objekt, welches später mit dem Analytic Model assoziiert wird, um die den Parametern Werte zu übermitteln. Diese View hat die Aufgabe, basierend auf dynamische Variablen einzelne Dateneinträge zu filtern und auszugeben. 

Durch die folgenden Schritte wird die Lookup Entität für die Verwendung bereitgestellt, dabei müssen folgende Punkte beachtet werden: 

  • Diese View braucht ein Filterknoten, um Einzelwerte zurück geben zu können 
  • Dieser Filter basiert auf Input Variablen, die den Start und Enddate eindeutig erkennt und zurückgibt 
  • Der Input Variabel leitet die Auswahlliste durch eine logische Assoziation zur Dimension  im Schritt 1 (siehe Screenshot). 
  •  
Aufbau Dimension für Time Lookup
Aufbau Dimension für Time Lookup
Erstellung Input Parameter für Look Up Variable
Erstellung Input Parameter für Look Up Variable
Integration Input Parameter in View
Integration Input Parameter in View
Test Input Parameter
Test Input Parameter
Test Output in View mit Inputparameter
Test Output in View mit Inputparameter
3. Faktenquelle und Analyse Modell:

Nun benötigt die Faktenquelle, dessen Datumswerte gefiltert werden müssen, ebenso dynamische Input Variablen. Alle erstellten Input Variablen werden später wie Puzzle in Zusammenspiel gebracht: 

Bearbeitungsmaske von Input Paramter für von Datum
Bearbeitungsmaske von Input Paramter für von Datum
Bearbeitungsmaske von Input Paramter für Bis Datum
Bearbeitungsmaske von Input Paramter für Bis Datum
Integration Range Filter mit Input Parameter
Integration Range Filter mit Input Parameter

Zum Schluss werden alle Objekte und Variablen in Verbindung gebracht. Die Input Variablen der Faktenview müssen so eingestellt werden, dass sie ihre Werte aus der Lookup Entität herleitet.

Integration Input Parameter in Analytic Model
Integration Input Parameter in Analytic Model
Analytic Model Umstellung Date Variable auf abgeleitete Werte
Analytic Model Umstellung Date Variable auf abgeleitete Werte
Analytic Model Mapping von Variable
Analytic Model Mapping von Variable
Analytic Model Mapping von Variable - Ergebnis
Analytic Model Mapping von Variable - Ergebnis
Analytic Model Variable für Bis Datum
Analytic Model Variable für Bis Datum
Aufruf Analytic Model mit Variablenauswahl
Aufruf Analytic Model mit Variablenauswahl
Ergebnis Aufruf Analytic Model
Ergebnis Aufruf Analytic Model

Der vorherige Anwendungsfall ist eine kleine Demonstration dessen, was mit dynamischen Lookup-Variablen in Datasphere möglich ist. Dieses Szenario kann mit beliebigen Werten (Kostenstellen, Organisationseinheiten etc.) ausgeführt werden.

Ersetzt das die Funktionalitäten der Customer Exit Variablen?

Abgeleitete Variablen in SAP Datasphere sind durchaus nicht als „Customer Exit Datasphere Edition“ zu verstehen. Sie ersetzen also nicht die Customer Exit Variablen aus SAP BW vollständig, bilden allerdings einen Teil der Funktionalität ab und können für viele Standardszenarien eingesetzt werden. 

Hier ein kurzer Vergleich:

Merkmal SAP BW Customer Exit SAP Datasphere Abgeleitete Variable
Technologie ABAP basiert Kein ABAP – grafisch bzw. expression-based
Flexibilität Sehr hoch (programmierbar) Eingeschränkter, aber wachsend
Laufzeit Bei Ausführung der Query Bei Ausführung des analytischen Modells
Kontextabhängigkeit Vollständig (Benutzer, Rollen etc.) Eingeschränkt (Benutzername, Datum, evtl. mehr)
Implementierung EXIT_SAPLRRS0 bzw. BAdI Innerhalb des Analytical Models, ggf. zentral über Lookup Entitäten
Wartbarkeit / Upgrade-Freundlichkeit Wartungsintensiv, teils komplex Intuitiver im UI, Cloud zentrisch

Fazit

Hergeleitete Variablen („Derived Variables“) bieten einen zeitgemäßen Ansatz, um typische Anwendungsfälle von BW Exit Variablen in der Cloud-Welt umzusetzen. Im Rahmen einer Migration lohnt es sich daher genau zu analysieren, welche Aufgaben früher über Customer Exits gelöst wurden und wie diese Anforderungen heute mit den Möglichkeiten der SAP Datasphere abgebildet werden können. Dabei zeigt sich: Einige Funktionen lassen sich direkt über Derived Values realisieren, andere hingegen erfordern alternative Lösungsansätze innerhalb des neuen Datenmodells. 

Haben Sie Fragen? Sprechen Sie uns gerne an!

Über ISR

Wir agieren seit 1993 als IT-Berater für Data Analytics und Dokumentenlogistik und fokussieren uns auf das Datenmanagement und die Automatisierung von Prozessen.
Ganzheitlich und im Rahmen eines umfassenden Enterprise Information Managements (EIM) begleiten wir von der strategischen IT-Beratung über konkrete Implementierungen und Lösungen bis hin zum IT-Betrieb.
ISR ist Teil der CENIT EIM-Gruppe.

Besuchen Sie uns virtuell auf diesen Kanälen:

News Kategorien
News Archiv

Zuletzt erschienen

Nächste ISR Events

[tribe_events_list limit=”3″]