Einführung in SAP BW 7.5 oder BW on Hana.

Walter-Tscharf-Development
6 min readSep 22, 2023

Dieser Artikel beinhaltet alle wichtigen eigenschaften wie die Datenmodelierung, Datenbereitstellung und das Reporting im SAP BW abläuft.

Vorab ein SAP BW ist ein “single Point of truth” für die Unterstützung des Entscheidungsprozesses bei den KPI’s. Das heißt alle relevanten Daten werden durch ETL Prozesse in eine Data Warehouse geladen. Die Daten können homogenisiert und transformiert werden um sie in ein einheitliches standardisiertes format zu überführen. Auf Grundlage dieser Datenbasis der verschiedenen Data sources können komplexe Reports und Analysen erstellt werden.

Basis Funktionen eines SAP BW sind:

  • Modellierung
  • Planung
  • OLAP
  • ETL
  • Lifecycle Management
  • Schduling & Monitoring

Was ist OLTP?

OLTP-(Online Transactional Processing) sind Systeme bei denen Daten tag für Tag verändert und bearbeitet werden wie z.B ein Geldautomat.

Was ist OLAP?

OLAP-(Online Analytical Processing-) wurde direkt mit Blick auf die Online-Datenanalyse entwickelt. Zur Reduzierung der Verarbeitungszeit werden die relationalen Daten zunächst in Matrixtabellen zusammengefasst und konsolidiert. Da diese Tabellen üblicherweise über drei (oder mehr) Dimensionen verfügen, bezeichnet man sie als Cube. OLAP-Daten repräsentieren die hierarchische Aggregation der einzelnen Transaktionen. Folglich können die aggregierten Daten viel schneller als relationale Daten analysiert werden.

SAP BW Architektur:

Die SAB BW Architektur im vergleich zu BW on HANA vs BW/4Hana

Was sind die Layer von BW?

Überblick:

  1. Extraction Layer:
    -Collecting data from source systems(SAP Systems, Databases, Web Services, Data Services, Flat Files)
  2. Staging Layer
    -Extracted data will be stored temporarily.
  3. Transformation Layer
    It facilitates Consolidation, Cleaning, Integration of data to
    synchronize it technically and semantically.
  4. Loading Layer:
    -The process of adding transformed data to
    data targets is called the loading process. A
    data transform process(DTP) transforms the
    data based on the parameters defined
    between the data source and the data target.
  5. Reporting Layer:
    -Presenting Data.
    -This layer allows you to perform analysis on
    the data stored in BW.

Was sind die 3 Grundfunktionalitäten eines SAP BW?

-Data modelling
-Data Extraction
-Reporting or Information Presenting

Was ist ein Data mart?

Ein Data mart ist ein kleiner Bereich und abschnitt von eines Data ware house. z.B HR, oder Sales data kann ein Data mart eines gesamten DWH sein.

Groundless Vorgehen um Daten im BW zu modulieren:

Welche wichtigen Transaktions(T-Codes) codes für SAP BW kennst du:

RSA1 -> Data Warehouse Workbench.
RSA14 -> InfoObject Moduler
SE11 -> Table view.
RSA11 -> InfoCube designer
/ORRMX -> BEx Query Designer
/ORSANWB -> Analytics Process Designer

In welche zwei arten unterscheiden wir Daten grundsätzlich?

-Master Data
Diese art von Daten ändert sich selten. Das heißt zum Beispiel Produktname, Kunden Name, Adresse von Kunden, Telefonnummer

-Transactional Data
Produktanzahl, Preis,

Wie können wir Daten modellieren in BW?

  1. Öffne RSA1/RSA14
  2. Erstelle eine InfoArea(Rechtsklick auf InfoObjects)
    -Um Daten zu laden müssen wir zwischen Master Daten und Transactional Daten unterscheiden:
    -Characteric values -> Master data
    -Key Figures -> Transactional Data
    -Namespace -> Benutzer generiert
  3. Darunter erstellen wir InfoObjectsCalalogs.
  4. Unter dem InfoObjectsCalalogs erstellen wir nun unsere InfoObjects:
    -Erstellen eines neuen InfoObjects mit Name “Char IOC fuer sales man“ (Char -> master, Transactional -> KF)
    -Attribute: SNAME, AGE, ADDRESS, PHONE
  5. Daten erstellen:
    -Auf den PK klicken um Daten hinzuzufügen. Tabelle bearbeiten und Daten manuell hinzufügen.
  6. Daten Laden mit Flat File(DataSource):
    -Zu Data Sources wechseln -> Application Komponente erstellen(Mit einer DataSource). Diese DataSource muss master data und Adapter Datei hochladen auswählen. Danach mapping der Header Attributen mit den davor erstellten InfoObjects.
  7. Ziel definieren(Erstelle InfoProvider)
    -Insert Chararistics as InfoProvider
    -Source ist unsere DataSource
    -Ziel ist das InfoObject(das wir erstellt haben)
    -Erstelle eine Transformation
  8. Erstelle Extraction Process(InfoPackage)
    -Dieser Process lädt Daten aus der File in BW PSA.
  9. Erstelle Data Transformation Process()
    -Daten werden von PSA zum DataTarget(InfoObject) geladen.

*Hilfe:
*Die Struktur sollte normalerweise wie folgt aussehen:
-InfoArea
|_>Characteristic InfoObjectsCalalog
|__>InfoObjects
|___>Attributes

Wie können wir die Daten in BW abrufen?

  1. Öffne SE11
  2. Jede tabelle die durch unser InfoObject erstellt wurde wird mit einem /bic/p beginnen danach folgt der technische name des InfoObjects. Zum Beispiel /bic/psid1.

Was ist ein InfoCube?

  • Oft genutzt für Transactional Data
  • Transaktion code RSA11 zum erstellen
  • Ein Multi Dimensionaler Daten Container verwende um historische Daten zu speichern und multi dimensionale Analysen zu ermöglichen.
  • InfoCubes basieren einem “Star-Schema”.

Was ist ein Star Schema?

Es ist eine Ansammlung von Tabellen. In der Mitte befindet sich die Tabelle mit den Transaktionellen Daten(Fact table) umrandet mit Tabellen gefüllt mit Master Daten(Dimension tables). Daher wir es Star Schema genannt.

Wie können wir eine Star Schema in SAP BW erstellen?

  • Vorbereitung:
    — RSA1, InfoArea wählen, IOC, InfoProvider öffnen.
  • Erstelle InfoObjects Characteristics: …
  • Erstelle InfoObjects Key Figures: …
  • Erstelle InfoCube als InfoProvider(DataTarget), Ziel wo wie die Daten speichern wollen:
    — Hinzufügen zu Sales dimension (dimension 1 — Tabelle) mit den erstellten Char InfoObjects.
    — Hinzufügen der erstellten KF InfoObjects.
  • Erstelle DataSource mit flat file adapter.
  • Hinzufügen von einem Transformation Prozess mit der DataSource und dem InfoCube(Add mapping).
  • Erstelle InfoPackage(File -> PSA, BW)
  • Erstelle DataTransferProcess — DTP -(Daten von PSA nach InfoCube, das unser DataTarget ist, laden).
  • Ausführen des DTP.

Für was steht DTP und welche arten kennst du?

DTP steht für Data Transfer Process und es existieren die folgenden Arten von DTP:
-Standart
-Error-Stack DTP(bei Fehler werden die Daten in eine separate Tabelle geladen)
-DTP for Direct upload(Lade Daten direct in ein Infoprovider das heißt in ein Ziel(InfoCube oder InfoObject))
-Real Time Data acquisition(RDA DTP)

Wie können wir geladene Daten überprüfen die fehlgeschlagen sind bei unserem Error-Stack DTP?

Unter InfoProvider wähle dein erstellten und ausgeführten DTP. Danach Menü -> Display Error Stack.

Für was steht PSA in SAP BW?

PSA steht für Persistent Storage Area.

Was sind die verschiedenen Arten von InfoObjects?

Characteristics
- Product
- Customer

Key Figures
- Sales Quantity
- Amount

Time Characteristics
- Billing Date
- Calendar Month

Unit InfoObjects
- Currency Unit
- Measurement Unit

Technical Characteristics
- Data Load Request ID
- Change Run

All diese sind verschiedene arten von InfoObjects.

Was ist ein DSO?

Ein Data Store Object speichert detaillierte Daten, zeit Veränderungen der Daten in einer history. Ein Vorteil von DSO zu InfoObjects ist, das sie überschrieben werden können. Außerdem zeigt es Veränderungen von Daten.

Wie erstellen wir ein DSO?

  • Unter InfoProvider -> Erstelle DSO
  • Erstellte Attribute(InfoObjects) für DSO hinzufügen
    — Key Fields(Characteristic Values, Master Data)
    — Data Fields(Key Values, Transactional Data)
  • Wenn noch nicht existent DataSource(FlatFile etc.) hinzufügen.
  • Bei InfoProvider -> DSO -> Transformation erstellen
    — Wähle die DataSource
    — Mapping der attribute
  • Erstelle InfoPackage(File -> PSA) und DTP(Data Transformation Process)

Analytics Process Designer?

Mit dem APD können verschiedene InfoProvider(DSO, InfoCubes, DataProviders wie BEx queries) miteinander verbunden werden. Dabei können Transformationen verwendet werden um eine bestimmte Logik umzusetzen und neue insights zu generieren.

  • Öffne /ORSANWB, Wähle Standard Ordner, Beschreibung APD fuer DSO
  • Speichern Analysis Process: APD_DSO (Unser frei wählbarer tech. name)
  • Starte mit InfoProvider (Also unser Data source)
  • Hinzufügen der Transformation(Hier ein Überblick)
  • Definiere als Letztes Data Target(Also unser Ziel wohin die Daten geladen werden soll)

Wie viele FACT Tables werden bei InfoCubes erstellt?

Zwei Tabellen:

  • Eine F-FACT Tabelle beinhaltet umkompremierte FACT Tabelle, Normalerweise Leer.
  • Eine E-FACT Tabelle beinhaltet komprimierte Daten.

Load Data -> F-FACT Tabelle -(elementaren von Duplikaten)> E-FACT Tabelle

--

--