adesso Blog

In den ersten beiden Teilen dieser Serie haben wir gezeigt, warum die Partnerschaft zwischen SAP und Snowflake die Datenstrategie vieler Unternehmen grundlegend verändert und wie sich SAP BDC Connect for Snowflake technisch einrichten lässt. In diesem dritten Teil gehen wir den entscheidenden Schritt weiter: Wir bauen in der bestehenden Infrastruktur einen KI-gestützten Agenten, der SAP- und Non-SAP-Daten gemeinsam abfragt, und zeigen, wie sich das auf die tägliche Arbeit in der Unternehmenssteuerung konkret auswirkt.

Das Szenario

Für unseren Use Case nutzen wir ein praxisnahes Setup, das viele Unternehmen in ähnlicher Form kennen: Unsere deutschen Gesellschaften arbeiten mit SAP S/4HANA und steuern darüber den gesamten Order-to-Cash-Prozess, von der Auftragsanlage über die Lieferung bis zur Faktura. Unsere polnische Tochtergesellschaft nutzt dagegen ein eigenständiges, lokales ERP-System, das nicht an SAP angebunden ist.

Für das zentrale Controlling entsteht daraus ein klassisches Problem. Wer den Gesamtumsatz des Unternehmens kennen will, muss Daten aus zwei Systemen zusammenführen. Bisher bedeutete das in der Praxis, dass die IT-Abteilung zunächst ETL-Strecken aufbauen, Datenmodelle abstimmen und Transformationslogik implementieren musste. Ein Prozess, der Wochen bis Monate in Anspruch nehmen konnte.

In Snowflake liegen nun drei Datenbestände bereit:

  • SAP Order-to-Cash: Aufträge, Rechnungen und Geschäftspartner, über SAP BDC Connect als Catalog-Linked Database bereitgestellt
  • SAP Wechselkurse: Die SAP-Kurstabelle TCURR mit historischen Umrechnungskursen, ebenfalls über BDC Connect bereitgestellt
  • Non-SAP Verkaufsdaten: Bestellungen der Tochtergesellschaft, geladen in eine separate Snowflake-Datenbank

Wir wollen herausfinden, wie schnell sich daraus ein KI-Agent aufsetzen lässt, der alle drei Quellen versteht und Fragen von Fachanwendern beantworten kann, ohne dass ein Data Engineer ein dimensionales Datenmodell bauen muss.

Semantic Views statt Data Warehouse

Bevor der Agent seine Arbeit aufnehmen kann, braucht er ein Verständnis der Daten. An dieser Stelle weichen wir bewusst vom klassischen Ansatz ab. Statt ein vollständiges Data Warehouse mit Fakten- und Dimensionstabellen zu modellieren, nutzen wir Semantic Views.

Dabei beschreibt man lediglich die vorhandenen Daten semantisch, also welche Spalte ein Umsatzwert, welche ein Kundenname ist und wie Tabellen zusammenhängen. Die Daten selbst werden dabei nicht transformiert oder kopiert. Der Aufwand reduziert sich von einem mehrwöchigen Modellierungsprojekt auf wenige Stunden.

Für die SAP-Daten entsteht die Semantic View beim Mounten des Datenprodukts automatisch. SAP liefert die Geschäftslogik, Dimensionen und Beschreibungen direkt mit, sodass aus dem technischen Tabellennamen „ad_hdlf_sd_lt_billingdocitem" eine verständliche Struktur mit Feldern wie „NetAmount", „SoldToParty" und „BillingDocumentDate" wird. Ein manuelles Nachmodellieren der SAP-Semantik entfällt.


Abbildung 1: Semantic View der SAP-Daten in Snowsight mit Dimensionen, Fakten und Metriken

Gleiches gilt für die SAP-Wechselkurstabelle TCURR, die als eigenständiges Datenprodukt über BDC Connect bereitgestellt wird. Auch hier entsteht die Semantic View automatisch beim Mounten und liefert die Kursinformationen, die der Agent später für Währungsumrechnungen benötigt.

Für die Non-SAP-Daten der Tochtergesellschaft erstellen wir eine eigene Semantic View. Da die Tabelle bereits sprechende Spaltennamen hat (ORDER_ID, CUSTOMER_NAME, NET_AMOUNT), ist die semantische Beschreibung in weniger als einer Stunde angelegt. Wir definieren dabei Dimensionen wie Kunde, Produktkategorie und Vertriebsmitarbeiter, hinterlegen Fakten für Beträge in PLN und EUR, legen Metriken für Gesamtumsatz und durchschnittlichen Bestellwert an und ergänzen Verified Queries als Referenzfragen für den Agenten.

Einrichtung des Agenten

Der Snowflake Cortex Agent wird über Snowflake CoWork direkt in der Snowflake-Oberfläche konfiguriert. Dafür werden drei Semantic Views als Cortex-Analyst-Tools eingebunden: die SAP Order-to-Cash-Daten mit Aufträgen, Rechnungen und Geschäftspartnern, die SAP-Wechselkurstabelle TCURR für Währungsumrechnungen und die Non-SAP-Verkaufsdaten der Tochtergesellschaft. Jede Semantic View ist eine eigenständige Datenquelle, die der Agent bei Bedarf abfragen kann.


Abbildung 2: Agent-Konfiguration in Snowflake CoWork mit den drei Semantic Views als Tools

In den Orchestration Instructions definieren wir, wann der Agent welche Datenquelle nutzen soll. Fragt ein Nutzer nach SAP-Auftragsdaten, greift der Agent ausschließlich auf die SAP-Daten zu. Fragt jemand nach dem unternehmensweiten Gesamtumsatz, kombiniert er alle drei Quellen und rechnet über die TCURR-Tabelle in EUR um. Über die Response Instructions legen wir fest, dass der Agent auf Deutsch antwortet, bei Zahlen immer die Währung angibt und transparent kennzeichnet, welche Daten aus welchem System stammen.


Abbildung 3: Agent-Konfiguration in Snowflake CoWork, was bei einer Antwort beachtet werden soll

Die gesamte Einrichtung, vom Anlegen des Agenten über die Tool-Konfiguration bis zum ersten Test, dauert weniger als 30 Minuten und bedarf kein Code, kein Deploymentund keine Pipeline.

Der Moment der Wahrheit

Entscheidend ist nicht die Einrichtung, sondern das Ergebnis. Wir haben den Agenten mit typischen Fragen aus dem Controlling-Alltag getestet.

  • „Welche Geschäftspartner haben im SAP-System den höchsten fakturierten Umsatz?"

Der Agent greift auf die Billing Documents und die BusinessPartner-Tabelle im SAP-System zu, verknüpft die Rechnungspositionen mit den Kundenstammdaten und liefert ein Ranking der umsatzstärksten Geschäftspartner, inklusive Kundennamen und fakturiertem Nettoumsatz.


Abbildung 4: Agent-Antwort mit dem Geschäftspartner-Ranking aus dem SAP-System

  • „Wie hoch ist der Gesamtumsatz des Unternehmens in EUR über alle Gesellschaften hinweg?“

Der Agent erkennt, dass die Frage alle drei Datenquellen betrifft. Er fragt zunächst die SAP-Billing-Documents ab, rechnet Fremdwährungsbeträge über die TCURR-Tabelle in EUR um, fragt anschließend die polnischen Non-SAP-Daten ab und addiert den dort bereits in EUR umgerechneten Betrag. In der Antwort schlüsselt er transparent auf, welcher Anteil aus welchem System stammt.


Abbildung 5: Agent-Antwort auf die unternehmensweite Umsatzfrage mit Aufschlüsselung nach SAP und Non-SAP

Was das für die Unternehmenssteuerung bedeutet

Für die Unternehmenssteuerung verändert dieses Setup eine fundamentale Dynamik. Die Zeit zwischen Frage und Antwort schrumpft von Tagen auf Sekunden.

Wer im Monatsabschluss wissen will, wie sich der Konzernumsatz über alle Gesellschaften hinweg entwickelt, muss nicht mehr auf einen Bericht der IT warten. Die Frage wird gestellt, der Agent durchsucht eigenständig SAP- und Non-SAP-Daten, und die Antwort berücksichtigt beide ERP-Welten. Wenn die erste Antwort eine Folgefrage aufwirft, lässt sich die nächste Frage sofort stellen.

Das ist der eigentliche Paradigmenwechsel: Entscheider werden befähigt, die Daten selbstständig zu befragen. Sie müssen nicht mehr auf andere warten. Die IT-Abteilung wird nicht mehr als Flaschenhals für jede Ad-hoc-Auswertung benötigt, sondern kann sich auf das konzentrieren, was sie auszeichnet: die Dateninfrastruktur und Governance sicherstellen.

Wo der Agent seine Stärken ausspielt und wo nicht

Der Agent liefert seine besten Ergebnisse bei explorativen und Ad-hoc-Fragen. „Wie hat sich der Umsatz der polnischen Tochtergesellschaft im letzten Monat entwickelt?", „Welche Kunden haben die höchsten offenen Auftragsvolumina im SAP-System?" oder „Wie verteilt sich der Umsatz nach Vertriebsorganisation?" sind typische Fragen, die zuverlässig beantwortet werden, solange die zugrunde liegenden Daten in den Semantic Views sauber beschrieben sind. Gerade diese spontanen Fragen, für die sich der Aufwand eines eigenen Reports bisher nicht gelohnt hat, sind seine Domäne.

An Grenzen stößt man dort, wo komplexe Berechnungslogik über beide Datenquellen nötig ist oder wo Joins Domänenwissen erfordern, das nicht aus den Daten selbst hervorgeht. Wer beispielsweise eine kundenspezifische Deckungsbeitragsrechnung über SAP-Kostendaten und die Pricing-Daten der polnischen Tochter benötigt, wird um eine gewisse Modellierung nicht herumkommen.

Ein gutes Beispiel für diese Art von Komplexität ist die Währungsumrechnung. Selbst wenn eine Wechselkurstabelle in der Semantic View hinterlegt ist, bleibt die fachliche Frage bestehen, welches Umrechnungsverfahren das richtige ist. Je nachdem, ob mit Stichtagskursen, Monatsdurchschnitten oder historischen Buchungskursen gerechnet wird, ergeben sich unterschiedliche Ergebnisse. Im Konzernabschluss gelten andere Regeln als im operativen Vertriebsreporting. Diese Entscheidung kann ein Agent nicht eigenständig treffen, sie muss vorab in der Semantic View oder den Agent Instructions verankert werden. Positiv hervorzuheben ist, dass der Agent in unserem Test solche Lücken selbstständig erkannt und transparent ausgewiesen hat, anstatt fehlerhafte Summen zu bilden. Dieses Verhalten ist ein klarer Vorteil gegenüber starren Reports, die solche Lücken im Zweifel stillschweigend übergehen.

Auch die Datenqualität in den Semantic Views spielt eine zentrale Rolle. Der Agent ist nur so gut wie die semantische Beschreibung, auf der er arbeitet. Kryptische SAP-Feldnamen wie VBELN oder MATNR sollten über die Semantic Views mit sprechenden Bezeichnungen und Beschreibungen versehen werden, sonst versteht der Agent die Daten genauso wenig wie ein neuer Mitarbeiter ohne Einarbeitung. Die gute Nachricht: Für die SAP-Daten übernimmt BDC Connect diese Übersetzung bereits automatisch. In der Praxis lohnt sich dennoch ein Blick auf die automatisch generierte Semantic View, um irrelevante oder leere Tabellen zu entfernen und den Agenten auf die tatsächlich relevanten Datenbestände zu fokussieren.

Fazit

Die Kombination aus SAP BDC Connect und Snowflake Cortex Agent senkt die Einstiegshürde für datenquellenübergreifende Analysen erheblich. Realistisch gesehen sind es immer noch Stunden, aber eben keine Wochen mehr. Und das ist oft genau der Punkt, an dem Unternehmen entscheiden, ob ein Projekt durchgeführt wird oder im Backlog verschwindet.

Was in den ersten beiden Teilen dieser Serie noch als architektonisches Versprechen formuliert war, wird hier greifbar. Ein Fachanwender stellt eine Frage in natürlicher Sprache, der Agent durchsucht eigenständig SAP- und Non-SAP-Daten, kombiniert die Ergebnisse und liefert eine transparente Antwort. Kein SQL, kein Ticket an die IT, kein Warten auf den nächsten Sprint.

Sie möchten diesen Ansatz in Ihrem Unternehmen umsetzen? Bei adesso SE begleiten wir Sie vom ersten SAP-Datenprodukt in der BDC über die Einrichtung der Semantic Views bis zum produktiven Cortex Agent. Unser SAP Analytics Team und unser Snowflake Team arbeiten dabei Hand in Hand, damit aus Ihren SAP-Daten nicht nur eine Cloud-Kopie wird, sondern ein echtes Werkzeug für datengetriebene Entscheidungen. Sprechen Sie uns an.

Bild Jonas Thiele

Autor Jonas Thiele

Jonas Thiele ist Senior Consultant im Competence Center Snowflake Data Platforms im Bereich Data & Analytics bei adesso. Seit mehreren Jahren begleitet er Unternehmen auf dem Weg zu einer modernen Datenstrategie – von der Architektur bis zur Umsetzung in der Snowflake AI Data Cloud. Seine Stärke: Kundenprobleme schnell durchdringen und direkt in tragfähige Lösungen übersetzen.

Kategorie:

Methodik

Schlagwörter:

Snowflake

SAP

SAP S4/HANA


asdf

Unsere Blog-Beiträge im Überblick

In unserem Tech-Blog nehmen wir Sie mit auf eine spannende Reise durch die adesso-Welt. Weitere interessante Themen finden Sie in unseren bisherigen Blog-Beiträgen.

Zu allen Blog-Beiträgen

asdf

Unser Newsletter zum adesso Blog

Sie möchten regelmäßig unser adesso Blogging Update erhalten? Dann abonnieren Sie doch einfach unseren Newsletter und Sie erhalten die aktuellsten Beiträge unseres Tech-Blogs bequem per E-Mail.

Jetzt anmelden