Skip to main content

Synchronisation von Stamm- und Bewegungsdaten mittels externer IDs

Zielsetzung

Für die Verdichtung und Synchronisation von Extraktionsergebnissen in Squeeze Extract müssen Stamm- und Bewegungsdaten effizient und konsistent bereitgestellt werden. Insbesondere bei großen Datenmengen ist es nicht sinnvoll, komplette Datenbestände regelmäßig neu zu importieren.

Stattdessen empfiehlt sich folgendes Vorgehen:

  1. Einmaliger Initialimport aller relevanten Daten.
  2. Anschließende Synchronisation über gezielte CRUD-Operationen (Create, Read, Update, Delete).
  3. Verwendung einer kundenseitigen Primärschlüsselreferenz über die Spalte externalid.

Dadurch können Datensätze eindeutig identifiziert und effizient aktualisiert oder gelöscht werden.


Verwendung einer externen ID

Standardmäßig verwendet Squeeze Extract die interne Spalte id als Primärschlüssel für API-Operationen.

Für Integrationsszenarien empfiehlt es sich jedoch, eine zusätzliche Spalte namens externalid anzulegen. Diese enthält den Primärschlüssel des Quellsystems und ermöglicht eine stabile Zuordnung zwischen externem System und Squeeze Extract.

Einrichtung der Spalte

  1. Öffnen Sie die Administration -> Stammdaten
  2. Öffnen Sie Tabelle, die Sie auf die Verwendung eines externen Primärschlüssels umstellen wollen  
  3. In den Bereich Spalten wechseln.
  4. Eine neue Spalte mit dem Namen externalid (ausschließlich Kleinbuchstaben) anlegen.
  5. Die Tabelle über „Tabelle anlegen / zurücksetzen“ erneut initialisieren (die bisher enthaltenen Daten werden dabei entfernt)

Nach der Initialisierung wird die Primärschlüssellogik angepasst:

  • Die Eindeutigkeitsprüfung erfolgt über die Spalte externalid.
  • Die Spalte externalid muss für jeden Datensatz eindeutig sein.
  • Die Spalte wird automatisch auf die Bedingungen UNIQUE und NOT NULL geprüft.

Beispiel

Existiert bereits ein Datensatz mit der externen ID 001, kann kein weiterer Datensatz mit derselben externen ID angelegt werden.

image.png


Initialer Datenimport

Nach Einrichtung der externen ID sollte ein vollständiger Import aller Stammdaten über den Master-Data-Endpunkt durchgeführt werden.

Empfohlener Endpunkt

/rows/batch

Alternativ kann der Import auch initial über einen CSV Upload in der Squeeze Oberfläche durchgeführt werden.

Anforderungen

  • Jeder Datensatz muss eine gültige externalid enthalten.
  • Die externalid muss eindeutig sein.
  • Die externalid darf nicht leer sein.

Der Batch-Import dient ausschließlich zur initialen Befüllung des Datenbestands.


Laufende Synchronisation

Nach dem Initialimport sollten Änderungen ausschließlich über einzelne Transaktionen verarbeitet werden.

Folgende Operationen werden unterstützt:

  • Insert (Anlegen)
  • Update (Ändern)
  • Delete (Löschen)

Dadurch können auch sehr große Datenbestände effizient synchronisiert werden, ohne regelmäßig komplette Tabellen neu zu übertragen.


Nutzung der API mit externer ID

Für Lookup-, Update- und Delete-Operationen muss der Parameter

useExternalId=true

übergeben werden.

Funktionsweise

Mit diesem Parameter wird der übergebene Wert in rowId gegen die Spalte externalid geprüft.

Beispiel:

...?rowId=4711&useExternalId=true

In diesem Fall sucht die API nach einem Datensatz mit:

externalid = 4711

Standardverhalten

Wird der Parameter nicht übergeben,

...?rowId=4711

prüft die API weiterhin gegen die interne Spalte:

id = 4711

Best Practices

  • Große Datenmengen nicht regelmäßig vollständig neu importieren.
  • Initialen Datenbestand einmalig per Batch bereitstellen.
  • Für alle Folgesynchronisationen CRUD-Operationen verwenden.
  • Externe Primärschlüssel konsequent über die Spalte externalid abbilden.
  • Für Lookup-, Update- und Delete-Aufrufe immer useExternalId=true verwenden.

Nutzen für Integrationen

Durch die Verwendung einer externen ID wird die Synchronisation zwischen Quellsystem und Squeeze Extract deutlich vereinfacht. Änderungen können gezielt auf einzelne Datensätze angewendet werden, wodurch Netzwerkverkehr, Verarbeitungszeit und Systemlast erheblich reduziert werden. Gleichzeitig bleibt die Zuordnung zwischen Quellsystem und Squeeze Extract dauerhaft konsistent.