Mit Apache Airflow für SAP S/4HANA Änderungsdaten erfassen

Robin Brandt

Geschrieben von: Robin Brandt - 30 November 2023

Der Umgang mit komplexen IT-Systemlandschaften und der Vielfalt der von ihnen produzierten Daten stellt für Unternehmen und Datenteams seit jeher eine beträchtliche Herausforderung dar. Die gute Nachricht ist, dass es hochmoderne Technologien gibt, die Ihrem Unternehmen dabei helfen können, Daten aus den verschiedensten Quellsystemen zu verarbeiten und sinnvoll zu nutzen. In SAP-Produkten wie SAP BW oder SAP S/4HANA sind häufig viele wertvolle Informationen für alle Arten von Geschäftsprozessen gespeichert, was deren Extraktion und Auswertung zu einer wertvollen Quelle für Geschäftsanalysen macht. In einem früheren Blogartikel haben wir beschrieben, wie Sie die Open-Source-Technologie für Workflow-Orchestrierung, Apache Airflow, nutzen können, um kontinuierlich Daten aus Ihrem SAP BW Data Warehouse zu extrahieren. Hier möchten wir darauf aufbauen und zeigen, wie ein sehr ähnlicher Prozess genutzt werden kann, um die in Ihrem SAP S/4HANA-System enthaltenen ERP-Daten in einer externen Datenbank mit Hilfe der Funktionen des OData-Adapters von SAP S/4HANA zu sammeln.

Wie bei fast jedem Anwendungsfall von Apache Airflow ermöglicht die Flexibilität, die es durch seinen Code-First-Ansatz bietet, endlose Anpassungen. Selbst wenn dieses Beispiel Ihren speziellen Anwendungsfall nicht abdeckt, hoffen wir, Ihnen die Bausteine zu liefern, die Sie für Ihre ganz eigene, maßgeschneiderte Implementierung ausbauen können.

Bereitstellen der Datenquelle

SAP S/4 HANA bietet eine breite Palette von Datenobjekten, die über das OData-Protokoll zugänglich gemacht werden können, darunter Stammdatenentitäten, Transaktionsdaten, benutzerdefinierte Tabellen oder Ansichten, Standardanwendungsmodule wie das Produktionsplanungsmodul sowie CDS (Core Data Services) Views wie "I_PRODUCT", "I_CUSTOMER" oder "I_COMPANYCODE". In unserem Beispielanwendungsfall möchten wir regelmäßig die Daten und ihre Änderungen aus einer SAP S/4HANA CDS View extrahieren. Mit anderen Worten, wir möchten einen Mechanismus zur Erfassung von Änderungsdaten (Change Data Capture, CDC) mithilfe der ODP-basierten Datenextraktion über OData implementieren.

Dazu erstellen wir zunächst ein neues Projekt für unseren OData-Dienst und geben ihm einen neuen technischen Namen.

01_sap-create-project_original_Änderungsdaten

Anschließend bereiten wir den OData-Zugang für diesen speziellen Extraktor vor. Nachdem wir das Datenmodell ausgewählt haben, das durch unsere ausgewählte CDS-Sicht definiert ist, müssen wir den Extraktor in der SAP S/4 HANA-Schnittstelle vorbereiten.

02_sap-step2_original_Änderungsdaten

Im letzten Schritt der Erstellung des Extraktors kreuzen wir alle Checkboxen der obersten Ebene an, um auszuwählen, worauf über den OData-Dienst zugegriffen werden soll.

03_sap-step3_original_Änderungsdaten


Effektives Workflowmanagement mit
Apache Airflow 2.0 

NextLyitcs Whitepaper Apache Airflow DE


04_sap-add-service_original_Änderungsdaten

Diese Header-Konfiguration ist ein wesentlicher Schritt, denn sie ermöglicht es, dass Anfragen nur die tatsächlichen Änderungen an der Datenquelle zurückgeben, anstatt bei jeder Abfrage von Daten aus dem OData-Dienst den gesamten Datenbestand zu laden.

05_sap-http-header_original

Der OData-Dienst ist nun bereit und kann über seinen URL-Endpunkt aufgerufen werden. Es empfiehlt sich, ein Verbindungsobjekt in Airflow zu erstellen, um die Basis-URL Ihrer S4/HANA-Instanz sowie die Anmeldedaten für den Zugriff auf den OData-Dienst zu speichern.

Für den Airflow-Teil zur Interaktion mit dem OData-Service können Sie den DAG verwenden, den wir im vorherigen Artikel über die SAP OData-Extraktion veröffentlicht haben. Tauschen Sie einfach das SAP-Verbindungsobjekt aus, das im Quellcode als `sap_conn` definiert ist, und Sie sollten startklar sein.

06_gitlab_code_snippet_original

Die Vorteile der Änderungsdatenerfassung für ERP-Daten

Auch wenn ein ERP-System wie SAP S4/HANA nicht das schiere Datenvolumen eines Data Warehouse wie SAP BW bietet, können die daraus extrahierten Daten Ihrem Unternehmen dennoch einen erheblichen Mehrwert bieten. Die Echtzeitverfügbarkeit von ERP-Daten in Kombination mit den flexiblen Zeitplanungsoptionen von Apache Airflow kann sich als nützlich erweisen, um die Grundlage für schnelle operative Entscheidungen zu schaffen und schnell auf Marktveränderungen zu reagieren. Ein weiterer Vorteil dieser Daten direkt von der Quelle ist, dass sie weniger Datentransformationen durchlaufen, was die Integrität der abgefragten Daten erhöht.

SAP S/4HANA Änderungsdatenerfasssung mit Apache Airflow - Unser Fazit

Die Flexibilität sowohl des OData-Protokolls in seiner Implementierung in SAP-Plattformen als auch von Apache Airflow als Orchestrierungsdienst für u.a. Business-Intelligence-Plattformen ermöglicht es, aussagekräftige Echtzeit-Einblicke in Ihre Daten zu generieren, die Sie in die Lage versetzen, fundierte Entscheidungen zu treffen. Die in SAP S/4HANA enthaltenen ERP-Daten eignen sich besonders gut für die Nutzung zur operativ effizienten Entscheidungsfindung unter Beibehaltung eines hohen Grades an Datengenauigkeit. Wir von NextLytics beraten Sie gerne über die beste Lösung - für diesen speziellen Anwendungsfall oder andere Herausforderungen, die Sie möglicherweise beschäftigen.

Erfahren Sie mehr über Apache Airflow

Themen: Machine Learning, Apache Airflow

Beitrag teilen

Sie haben eine Frage zum Blog?
Fragen Sie Robin Brandt