Kundenprojekt

WMS-Integration bei Constellation Cold Logistics: von direkten Schreibzugriffen auf die Datenbank zu einem Datenmodell

Constellation Cold Logistics Denmark betreibt in Dänemark Kühlhäuser für Lebensmittelhersteller, bei denen jedes Packstück rückverfolgbar sein muss. Die EDI-Dateien der Kunden wurden direkt in die Datenbanken des Lagersystems geschrieben, Kunde für Kunde. SublimTech hat die Landschaft mit einer Lobster-Integration und einem kanonischen Datenmodell neu aufgebaut, sodass für einen neuen Kunden ein Mapping genügt und das Lagersystem gewechselt werden kann, ohne die Kundenverbindungen anzufassen.

Die Lösung wurde von Jonatan Augustsson, Head of Consultants bei SublimTech, entworfen und gebaut und ist heute in Betrieb. Hier zeigen wir den Weg vom Ausgangspunkt bis zum Plan.

  • Kühlhaus und Lebensmittellogistik
  • Lobster Data Platform und Infor WMS
  • Ca. 8 Min. Lesezeit
Lobster Value Added Reseller, Platinum Partner
10 Kühlhäuser in Dänemark
rund ein Drittel der Gefrierkapazität des Landes
1 Kanonisches Datenmodell pro Nachrichtentyp
Aufträge, Versandavise, Wareneingänge, Bestandskorrekturen
ca. 2 Mon. Ziel für das Onboarding eines neuen Kunden
statt bisher sechs bis acht Monaten
1 Sammelbericht statt 40 bis 50 Einzelnachrichten
bei Bestandskorrekturen über viele Paletten

Quelle: Eigenes Projektmaterial von SublimTech zu Constellation Cold Logistics Denmark. Die Onboarding-Zahl ist das Ziel des Projekts für neue Kundenverbindungen, kein ermittelter Durchschnitt.

Der Kunde

Zehn Kühlhäuser und Rückverfolgbarkeit ohne Kompromisse

Constellation Cold Logistics Denmark hieß bis 2025 Agri-Norcold. Das Unternehmen wurde 1964 im dänischen Hobro als Schlachthof und Kühlhaus gegründet und wuchs auf zehn Standorte in Dänemark, die zusammen rund ein Drittel der gesamten Gefrierkapazität des Landes ausmachen. Die Anlage im dänischen Vejen ist das größte Kühlhaus Nordeuropas. 2024 wurde das Unternehmen Teil von Constellation, dem drittgrößten Kühllagerbetreiber Europas, der in vier Jahren zehn Zukäufe in neun Ländern getätigt hat.

Die Kunden sind Lebensmittelhersteller, von Tiefkühlware bis zu gekühlter Milch, und viele von ihnen liefern Fleisch. Fleisch unterliegt behördlicher Kontrolle, daher sind Rückverfolgungsdaten für jedes einzelne Packstück kein Wunsch, sondern Pflicht. Das ist der Rahmen, in dem die Integration funktionieren muss: viele Kunden, viele Formate und Daten, die sich bis zur Quelle zurückverfolgen lassen müssen.

Der Film zeigt die Kühlkette

Eine durchgängige Kühlkette: Fleisch auf dem Band, Paletten, Gefrieranlagen und Container auf dem Weg in die Welt. Startet erst, wenn Sie klicken.
Vorher

Eine Dateifreigabe, direkt in die Datenbank geschrieben

Ausgangspunkt war eine gemeinsame SFTP-Dateifreigabe auf einem lokalen, an AS/400 gebundenen Server. Alle Kunden lieferten ihre Dateien am selben Ort ab, und die Dateien wurden abgeholt und direkt in die Datenbanktabellen geschrieben, Nachricht für Nachricht. Es gab keine gemeinsame Schicht und keine gemeinsame Struktur. Die Eigenheiten jedes Kunden steckten in dem Code, der seine Dateien in die Tabellen schrieb, und für einen neuen Kunden wurde alles noch einmal gebaut. Einige Kunden nutzten gar kein EDI.

Das versteckte Problem

Nicht nur das Datenmodell war undokumentiert. Die Leitungen dahinter waren es auch.

  • Jede neue Kundenverbindung warf dieselben Fragen auf: Holen wir die Datei ab, oder liefert der Kunde sie? SFTP oder eine API, von der wir selbst abrufen müssen? Und welches Format steckt eigentlich in der Datei?
  • Das Wissen lag bei einzelnen Personen, nicht in der Dokumentation. Die ursprünglichen Integrationen waren von wenigen, sehr erfahrenen Leuten gebaut worden, und wenn sie gehen, nehmen sie das Wissen um das Warum mit.
  • Alte Kundenprofile wurden als Vorlagen aufbewahrt, nur damit das nächste Onboarding etwas zum Kopieren hatte.
  • Die AS/400-Tabellen, in die alles geschrieben wurde, waren genauso undokumentiert wie die Dateien, die hereinkamen.

Das ist, als würde man ein Haus ohne Baupläne erben, in dem die Hälfte der Rohre in den Wänden steckt. Bevor man neue Rohre verlegen kann, muss man herausfinden, wo die alten tatsächlich verlaufen.

So haben wir begonnen

Erst Interviews, dann die echten Dateien

Das Projekt konnte nicht mit einem Design beginnen. Es musste mit Fragen beginnen.

  1. Kunde für Kunde: Welche Daten gibt es eigentlich?
  2. Und wie bewegen sie sich physisch durch die Systeme?
  3. Die Antworten wurden anhand echter Produktionsdateien geprüft, nicht anhand ihrer Beschreibung.

Discovery in Lobster statt am Schreibtisch

Echte Produktionsdateien jedes Kunden wurden direkt in ein Lobster-Profil eingelesen. Damit wurde die Struktur der Nachricht sofort sichtbar, und das Mapping ließ sich laufend anpassen, ohne dass etwas deployt werden musste, um eine Theorie zu testen. EDI ist nur dem Namen nach ein Standard. Jeder Kunde setzt ihn auf seine eigene Weise um, meist undokumentiert, sodass die Daten selbst die einzige verlässliche Quelle waren.

Das kanonische Modell

Ein internes Modell pro Nachrichtentyp

Kern der Lösung ist ein kanonisches Datenmodell, auf Englisch Canonical Data Model oder CDM, für jeden Nachrichtentyp: Aufträge, Versandavise, Wareneingänge, Bestandskorrekturen und weitere. Es ist ein standardisiertes internes Format, über das Constellation selbst die volle Kontrolle hat. Das Modell wurde aus großen Mengen echter Produktionsdaten über alle Kunden hinweg abgeleitet und mithilfe von KI analysiert, damit es für alle trägt und nicht nach den Eigenheiten eines einzelnen Kunden geformt ist. Es legt die Felder fest, die mindestens vorhanden sein müssen, damit ein Kunde überhaupt angebunden werden kann.

Stellen Sie es sich wie eine gemeinsame Arbeitssprache in der Diplomatie vor. Statt dass jedes Land einen Dolmetscher für jedes andere Land braucht, hat jedes Land einen Dolmetscher: aus der eigenen Sprache in die gemeinsame und zurück. Kommt ein neues Land hinzu, kommt ein Dolmetscher hinzu. Die anderen bleiben, wie sie sind.

So sieht ein Auftrag im Modell aus

EbeneFelder
KopfdatenAuftragsnummer, Kunden-ID, Lager-ID, Auftragsdatum, gewünschtes Lieferdatum
PositionenPositionsnummer, Artikelnummer, Paletten-ID, Menge, Einheit, Losnummer, Mindesthaltbarkeitsdatum
PackstückePro Palette, wenn beim Kunden auf Packstückebene rückverfolgt wird: Packstück-ID, Menge, Losnummer, Mindesthaltbarkeitsdatum, Rückverfolgungsreferenz
MetadatenQuellsystem, Modellversion, Status, angelegt am

Zwei Ebenen in den Positionen, Palette und darunter Packstück, sorgen dafür, dass die Rückverfolgbarkeit auf der Ebene ansetzen kann, die der einzelne Kunde für die Rückverfolgung nutzt. Onboarding heißt genau das, und zwar einmalig: die Felder des Kunden auf das Modell abbilden, eingehend und ausgehend. Alle nachgelagerten Schritte gibt es bereits.

So senden es die Kunden, und so verlangt es das Modell

Typische Daten eines Kunden

Position 1: Artikelnummer 4408, 120 Kartons, 3 Paletten

Position 2: Artikelnummer 9120, 1.800 kg, gemischte Paletten

Die Struktur unterscheidet sich von Kunde zu Kunde. Selten gibt es eine Position pro Palette, und jeder Kunde hat seine eigene Logik.

So verlangt es das Modell

Position 1: Artikelnummer 4408, Palette PAL-04007, 36 Packstücke CTN-0001 bis CTN-0036, jeweils mit Los und Mindesthaltbarkeit

Position 2: Artikelnummer 4408, Palette PAL-04014, 36 Packstücke CTN-0037 bis CTN-0072

Eine Position pro Palette, und jede Palette kann viele Packstücke enthalten, die einzeln verfolgt werden. Weil das Modell Constellation gehört, werden beide Ebenen an einer Stelle zentral durchgesetzt.

Die Architektur

Kundenformat, gemeinsames Modell, Lagerformat

Jedes Glied der Kette ist ein eigenes Lobster-Profil, entkoppelt von den anderen. Ausgehende Nachrichten folgen derselben Kette in umgekehrter Richtung. Für einen neuen Kunden entsteht ein Mapping, das anschließend in den bestehenden Prozess eingehängt wird. Dieselbe Flexibilität gibt es auf der anderen Seite: beim Wechsel des Lagersystems oder bei einem zusätzlichen Lagersystem, das mit einem Zukauf hinzukommt.

1. EDI des Kunden

Das eigene Format und der eigene Transportweg des Kunden: SFTP, API, Push oder Pull. Die Eigenheiten bleiben hier, im eigenen Profil des Kunden.

2. Das kanonische Modell

Ein internes Modell pro Nachrichtentyp, das SublimTech und Constellation selbst definieren und besitzen. Alle folgenden Schritte kennen nur dieses Modell.

3. Das Lagerformat

Das Modell wird in das übersetzt, was das Lagersystem erwartet. Wird das Lagersystem gewechselt, ändert sich nur dieses Mapping.

4. Infor WMS

Das Lagersystem empfängt die Nachrichten in seinem eigenen Format. Ausgehende Nachrichten folgen derselben Kette in umgekehrter Richtung.

Einmal gebaut, überall genutzt

Protokollierung und Rückverfolgungsfelder sind gemeinsame Objekte in Lobster, auf die alle Profile verweisen, statt in jedem Profil neu gebaut zu werden. Die Protokollierung erfasst dieselben Details in denselben Spalten über alle Flows hinweg, sodass der Support jeden beliebigen Flow lesen kann, ohne ihn erst kennenzulernen. Eine Änderung an Protokollierung oder Rückverfolgbarkeit erfolgt einmal, nicht zwanzigmal.

Was es bedeutet

Jede Nachricht ist nachverfolgbar, und jede Eigenheit ist gekapselt

Jede Nachricht im Modell trägt ihre eigenen Metadaten: Quellsystem, Modellversion, Status und Zeitstempel. Geht etwas schief, etwa durch fehlerhafte Daten von einem Kunden, ein fehlendes Feld oder eine fehlgeschlagene Lieferung, lässt es sich genau auf die Nachricht, den Kunden und die Stelle in der Kette zurückführen. Dass sich nachweisen und nachverfolgen lässt, was mit den Daten geschehen ist, statt sie nur zu bewegen, war einer der wichtigsten Gründe, warum sich Constellation für Lobster als Zwischenschicht entschieden hat.

  • Kundenspezifische Logik liegt im eigenen Profil des Kunden, nicht verstreut im Kernprozess. Die Sonderregel eines Kunden kann den Flow eines anderen nicht durcheinanderbringen, und der Kern bleibt lesbar.
  • Ein neuer Kunde ist eine Mapping-Aufgabe: sein Format zum Modell und zurück, plus der Transport. Der Rest des Flows existiert bereits, mit definierten Pflichtfeldern.
  • Keine Bindung an ein Lagersystem. Heute ist es Infor WMS. Wird es gewechselt, ändert sich nur das Mapping vom Modell zum Lagersystem, und ein zusätzliches Lagersystem aus einem Zukauf ist eine Ergänzung, keine Migration.

Das Ziel: Onboarding in rund zwei Monaten

Früher bedeutete das Onboarding eines einzelnen Kunden monatelanges Hin und Her, typischerweise sechs bis acht Monate. Mit dem Modell liegt das Ziel für eine neue Verbindung bei rund zwei Monaten, und der erste Kunde wird derzeit nach dem neuen Modell angebunden. Geplant sind weitere dänische Kundenverbindungen und danach die anderen Länder des Konzerns. Das erste Lager soll laut Plan im November 2026 auf Infor WMS in Betrieb gehen, und nach monatelangen Tests funktionieren sowohl die Standardprozesse als auch die Ausnahmen drumherum.

Darauf aufgebaut

Berichte, Strompreise und Zertifikate auf derselben Plattform

Jeder Kunde ist anders angebunden, vor allem in dem, was er auf der EDI-Seite kann und was nicht; deshalb gibt es immer Sonderfälle und individuelle Berichte. Solange sich die Logik erklären lässt und das Lagersystem Rohdaten an Lobster liefern kann, erstellt und liefert Lobster den Bericht.

Berichte, die das Lagersystem nicht erstellen kann

Bestandslisten als Excel-Dateien, aufgeschlüsselt nach Palette, Artikel und mehr, je nach Bedarf in unterschiedlichen Vorlagen. Das Lagersystem kann nur eine Bestandskorrektur auf einmal senden, sodass eine Korrektur über viele Paletten 40 bis 50 Einzelnachrichten auslöst. Lobster sammelt sie in einer Datenbank, und ein zeitgesteuertes Profil sendet einen Sammelbericht pro Kunde und Lager, zeitlich so abgestimmt, dass der Kunde ihn verarbeiten kann.

Strompreise und Gefrieranlagen

Lobster ruft die Strompreise Stunde für Stunde online ab. Abhängig vom Preis lassen sich Gefrieranlagen automatisch ab- und zuschalten, sodass der Betrieb in Echtzeit auf Preisschwankungen reagiert.

Zertifikate von Papier zu JSON

Angefangen hat es mit der Lösung eines einzelnen Kollegen: ausgefüllte PDFs statt handgestempelter Papierzertifikate mit Wasserzeichen. Heute erzeugt Lobster Zertifikatsdaten als JSON für einen Partner, der sie digital an Fødevarestyrelsen meldet, die dänische Lebensmittelbehörde. Nur noch zwei bis drei Zertifikatstypen laufen auf Papier.

Geplant, nicht gebaut

Weg vom lokalen Server, hin zu APIs

Alles bisher Beschriebene ist gebaut und in Betrieb. Das Folgende zeigt die Richtung, nicht den Lieferumfang.

  • Die Kunden ziehen von der AS/400-gebundenen Dateifreigabe zu Lobster um: mindestens SFTP, gehostet in Lobster, und HTTP direkt für Kunden, die eine API nutzen können. Es geht nicht darum, SFTP abzuschaffen, denn Lobster beherrscht fast jedes Protokoll, sondern darum, vom lokalen Server wegzukommen.
  • Das Modell und die Berichte werden als externe APIs bereitgestellt, mit dem eigenen OAuth2-Dienst von Lobster und der Zugriffssteuerung im API Manager, sodass die Kunden ihre Daten selbst abrufen können, wann sie wollen.
  • Onboarding über den Trading Partner Manager, in dem Partnereinrichtung, Transport und Zugänge an einer Stelle zusammenkommen, sodass die Anbindung eines API-fähigen Kunden zum Einrichtungsschritt wird statt zum Entwicklungsprojekt.
  • Nicht alle Kunden brauchen eine vollständige EDI-Anbindung oder haben die Kapazität dafür. Die Vision ist ein WebEDI-Portal für kleinere Kunden, in dem Auftrags- und Bestandsdaten im Browser sichtbar sind, ohne dass EDI eingerichtet werden muss.

Die Lösung war von Anfang an für mehrere Lager und mehrere Länder gedacht; die Trennung pro Kunde ist Teil der Struktur und kein nachträglicher Zusatz. Jeder Zukauf im Konzern bringt seine eigenen Systeme und seine eigene Version von AS/400 mit, genau wie damals Dänemark. Das hier entwickelte Muster ist keine dänische Lösung, sondern eine wiederverwendbare Blaupause für den nächsten Zukauf.

Haben Sie eine ähnliche Landschaft mit vielen Kunden, vielen Formaten und Wissen, das bei wenigen Personen liegt? Dann ist ein gemeinsames Datenmodell oft der erste Schritt.

Ihre Integrationen besprechen
Fragen

Häufige Fragen zum Projekt

Was ist ein kanonisches Datenmodell (CDM)?

Ein gemeinsames internes Format pro Nachrichtentyp, zum Beispiel eine bestimmte Art, einen Auftrag zu beschreiben, in die alle Kundenformate übersetzt werden und aus der dann das Format des Lagersystems erzeugt wird. Es legt die Felder fest, die mindestens vorhanden sein müssen, damit ein Kunde überhaupt angebunden werden kann. Der Vorteil ist, dass jeder Kunde nur einmal gemappt werden muss und kein nachgelagerter Schritt die Eigenheiten des einzelnen Kunden kennen muss. Auf Englisch heißt das Canonical Data Model, abgekürzt CDM. Nicht zu verwechseln mit dem Common Data Model von Microsoft, das etwas anderes bezeichnet.

Warum nicht jeden Kunden direkt auf das Lagersystem mappen?

Weil die Zahl der Verbindungen dann mit jeder Kombination aus Kunde und System wächst und weil die Eigenheiten jedes Kunden in dem Code landen, der ins Lagersystem schreibt. Genau das war der Ausgangspunkt bei Constellation: Für jeden neuen Kunden wurde alles noch einmal gebaut. Mit dem Modell dazwischen braucht ein neuer Kunde nur ein Mapping, und ein Wechsel des Lagersystems berührt die Kunden nicht.

Lässt sich derselbe Ansatz außerhalb von Kühlhäusern nutzen?

Ja. Das Muster ist dasselbe, ob an einem Ende ein Lager, ein ERP-System oder ein Webshop steht: Kundenformat, gemeinsames Modell, Systemformat. Das Besondere an Kühlhäusern und Lebensmitteln ist die Rückverfolgbarkeit auf Paletten- und Packstückebene, und die steckt als wiederverwendbare Felder im Modell statt als Regeln in jedem einzelnen Flow.

Was passiert mit den Kundenverbindungen, wenn das Lagersystem gewechselt wird?

Nichts. Die Kunden kommunizieren nur mit dem kanonischen Modell. Ein neues Lagersystem bedeutet deshalb ein neues Mapping vom Modell zum neuen System, und alle Kundenverbindungen bleiben unberührt. Ein zusätzliches Lagersystem, etwa aus einem Zukauf, ist eine Ergänzung, keine Migration.

Sollen Ihre Integrationen auf einem gemeinsamen Modell aufbauen?

Wir zeigen Ihnen gern, wie ein kanonisches Datenmodell bei Ihnen aussehen würde und was es für das Onboarding neuer Partner bedeutet.

SublimTech kontaktieren