Ablauf-Sync
Der Universal Ablauf ermöglicht es, mehrere Syncs sowie Reports zu einer wiederverwendbaren Prozesskette zu kombinieren und in definierter Reihenfolge auszuführen.
Damit lassen sich komplexe Integrationsszenarien, Vor-/Nachbearbeitungen und Benachrichtigungen zentral orchestrieren.
Wichtig: Der Ablauf selbst führt keine Datenabfragen oder Transformationen aus.
Diese Leistungen erbringen die separat konfigurierten Syncs bzw. Reports, die vom Ablauf gestartet und überwacht werden.
Einsatzszenarien (Überblick)
- Mehrere Syncs nacheinander mit Abhängigkeiten ausführen (z. B. Stammdaten → Bewegungsdaten → Benachrichtigung).
- Reports nach Abschluss von Datenläufen erzeugen und automatisiert per E-Mail versenden.
- Ad-hoc-Ketten starten, die nur betroffene Teilmengen verarbeiten.
- Wiederholungen und Fehlerbehandlung zentral bündeln.
Die Verkettung kann alternativ auch über Nachfolgesyncs erfolgen. Für zwei direkt aufeinanderfolgende Schritte ist der Nachfolgesync oft einfacher, die Kombinierbarkeit und Transparenz sind jedoch im Ablauf größer.
Standardaufgaben des Ablaufs
- Zeitsteuerung über Warteschlange: Planung, Start und Protokollierung der Kette.
- Zentrale Fehlerbehandlung: Konsolidierte Betrachtung der in den Schritten aufgetretenen Fehler.
- Initiale Ausführung: Einmaliges Starten aller zugeordneten Syncs (z. B. für Erstbefüllungen).
- Ad-hoc-Verfügbarkeit: Ketten gezielt für einzelne Datenmengen manuell auslösen.
Der Warteschlangeneintrag des Ablaufs bündelt alle Einzelstarts der Schritte mit Verweisen und summierter Statistik.
Obwohl der Ablauf einen eigenen Warteschlangeneintrag besitzt, legt er für jeden ausgeführten Sync zusätzlich manuelle Warteschlangeneinträge an.
Dadurch bleiben Standardmechanismen (z. B. Sync-eigene Fehlerwiederholung, Protokolle) erhalten und individuell konfigurierbar.
Ad-hoc-Ausführung
Über die Ablauf-Einstellungen „Quell-System“ und „Quell-Objekt“ kann ein Ad-hoc-Eingang definiert werden:
- Der Ablauf ist Empfänger der Anfrage; die Ausführung erfolgt in den jeweiligen Sync-Schritten.
- Schritte, deren Syncs manuell auszuführen sind und Quell-System/Quell-Objekt entsprechen, werden ad-hoc gestartet.
- Weitere Syncs mit derselben Quelle werden mit identischem Verhalten ausgeführt; alle übrigen gemäß ihrer Konfiguration.
So lassen sich Aufgabenketten oder mehrere Ad-hoc-Übertragungen in einem Lauf bündeln.
Arten von Ablaufschritten
- Sync ausführen
- Report ausführen
- (optional, falls aktiviert) E-Mails versenden (vereinfachte Variante ohne Report)
Im Folgenden werden die einzelnen Schrittarten und ihre Parameter beschrieben.
Schritt: Sync ausführen
Voraussetzung: Der auszuführende Sync existiert (Abläufe sind als Ziel ausgeschlossen).
Parameter
Name
Präfix für Meldungen des Schritts; dient der schnellen Identifikation im Protokoll.
Sync ausführen
Auswahl des zu startenden Syncs.
Daten aus Sync
Ermöglicht die Weiterverwendung von Quell-/Zieldaten vorheriger Syncs innerhalb desselben Ablaufs:
„Quelldaten unverändert übernehmen“
Nimmt die Daten direkt nach dem Lesen, vor der Transformation.
Datensätze mit Transformationsfehlern oder die durch Zweitfilter ausgeschlossen sind, werden nicht weitergegeben.Für Abfrage-Syncs sind ID-Felder erforderlich.
„Quelldaten transformiert übernehmen“
Nimmt die Daten nach der Transformation (Fehler/Zweitfilter wirken ebenso).
Nicht-Standard-Felder stehen dem Folgeschritt nur dann zur Verfügung, wenn im Folgesync leere Parameter definiert sind (Platzhalter-Zuweisung).Bei geschachtelten Daten werden nur Transformationen des Hauptobjekts zwischengespeichert; Positions-Transformationen nicht.
„Keine Daten übernehmen“
Überspringt die Weitergabe. Sinnvoll, um das Überschreiben zuvor zwischengespeicherter Ergebnisse bei Wiederholungen zu verhindern.
Zieldaten werden bei den ersten beiden Optionen ebenfalls zwischengespeichert. Umfang und Verfügbarkeit hängen vom Zielsystem ab (entkoppelte Verarbeitung, nur Basisinformationen o. Ä.).
Daten aus Vorgänger
Auswahl eines vorherigen Sync-Schritts, dessen Quellen oder Ziele übernommen werden.
Im ersten Schritt nicht verfügbar. Bei „Sync manuell ausführen“ nicht erforderlich.
Ausführungsart
Steuert, wie der Sync startet:
„Sync manuell ausführen“
Normale Ausführung gemäß Sync-Konfiguration (Filter kann übersteuert werden).„Sync direkt mit Quelldaten aus Vorgänger ausführen“
Start mit zwischengespeicherten Quelldaten; der Sync liest nicht neu, außer für Fehlerwiederholungen/Wiederholungen (diese werden eigenständig nachgeladen).Voraussetzung: identische Quell-Verbindung und Quell-Objekt.
„Sync direkt mit Zieldaten aus Vorgänger ausführen“
Start mit zwischengespeicherten Zieldaten; analog zum vorigen Punkt.Voraussetzungen: identische Quell- & Zielverbindung sowie Quell- & Zielobjekt; außerdem liefern nicht alle Syncs vollständige Zieldaten.
„Sync für jeden Quelldatensatz aus Vorgänger + ausgewertetem Filter“
Für jeden Quelldatensatz wird eine modifizierte Abfrage ausgeführt (Platzhalter ##…##).Nicht alle Syncs können Filter auswerten; meist dann, wenn auch kein Quellfilter konfigurierbar ist.
Systeme/Objekte müssen nicht übereinstimmen.„Sync für jeden Zieldatensatz aus Vorgänger + ausgewertetem Filter“
Analog für Zieldatensätze; gleiche Einschränkungen wie oben.
Filter für Ausführung
- Übersteuert den Sync-Filter bei „Sync manuell ausführen“.
- Definiert zugleich den Platzhalter-Filter für Abfragen aus Zwischendaten (Syntax gemäß Quell-Verbindung).
- Bei Abfrage-Syncs ersetzt #FlowFilter# in der Abfrage; bei Zwischendaten wird die Abfrage je Datensatz wiederholt.
Bedingung für Ausführung
SQL-logische Bedingung, die je Datensatz ausgewertet wird. ##-Platzhalter werden mit aktuellen Werten ersetzt.
Nicht erfüllte Datensätze werden übersprungen.
Lesen nicht mit Änderungsgrenzwert einschränken
Entspricht der Sync-Option „Immer alle Datensätze abfragen“ und übersteuert diese.
Ablauf beenden, wenn der aktuelle Sync keine Daten liefert
Stoppt den Ablauf frühzeitig, wenn keine Daten vorliegen.
Fehlerbehandlung
Steuert das Verhalten bei nicht erfolgreichem Sync (inkl. fehlgeschlagener Verbindungsprüfung):
- „Ablauf abbrechen“
- „Ablauf fortsetzen“
Felder kopieren
Über Feldnotation Daten aus dem Zielobjekt in das zwischengespeicherte Quellobjekt übernehmen, um sie in nachfolgenden Schritten per leerem Parameter nutzbar zu machen.
Felder des Vorgängers übernehmen
Über Feldnotation Daten aus dem Vorgängerobjekt in das neu abgerufene Quellobjekt übernehmen, um sie in nachfolgenden Schritten per leerem Parameter nutzbar zu machen.
Voraussetzungen: Sync führt gefilterte Abfrage mit Vorgängerdaten aus.
Schritt: Report ausführen
Reports generieren tabellarische Ausgaben, die gespeichert oder zeitgesteuert versendet werden können.
Im Ablauf wird der Report explizit zum Versand ausgeführt.
Parameter
Name
Präfix für Meldungen; dient auch als E-Mail-Betreff, wenn keiner angegeben ist.
Report ausführen
Auswahl des Reports. Er wird nicht zum Speichern, sondern ausschließlich zum Versand gestartet (unabhängig von Report-Einstellungen).
Daten aus Vorgänger
Übernahme von Quell-/Zieldaten eines vorherigen Sync-Schritts (optional).
Bei „Report manuell ausführen“ nicht erforderlich (einmalige Abfrage + Versand).
Ausführungsart
- „Report manuell ausführen“: Einmalige Abfrage, Ergebnis wird versendet.
- „Report je Quelldatensatz aus Vorgänger + ausgewerteter Abfrage“:
Für jeden Quelldatensatz wird eine modifizierte Abfrage ausgeführt; Sammlung als Anhang versendet.Filter in ##-Schreibweise, Einfügen via #FlowFilter#.
- „Report je Zieldatensatz aus Vorgänger + ausgewerteter Abfrage“:
Analog für Zieldatensätze.
Bedingung für Ausführung
SQL-Bedingung je Datensatz (##-Platzhalter). Nicht erfüllte Datensätze werden übersprungen.
Filter für Ausführung
Pro Datensatz ausgewertet und via #FlowFilter# in die Reportabfrage eingefügt.
Ablauf beenden, wenn der aktuelle Report keine Daten liefert
Stoppt den Ablauf frühzeitig.
Empfängeradresse / CC / BCC
Semikolon-getrennte Adressen; #-Platzhalter je Datensatz (ausgenommen manuelle Ausführung).
Betreff
Betreff der E-Mail; #-Platzhalter werden je Datensatz aufgelöst.
Vorlage für Nachrichten
Auswahl einer HTML- oder Textvorlage aus den Serienbriefvorlagen (muss zuvor gespeichert sein).
Der Versand erfolgt im Format der Vorlage.
E-Mail-System
Versand nicht über Syncler-SMTP. Es ist ein E-Mail-System (SMTP) erforderlich (inkl. Absender).
Hier wählen Sie das gewünschte System.
Fehlerbehandlung
- „Ablauf abbrechen“
- „Ablauf fortsetzen“
Die Fehlerbehandlung dieses Typs erfolgt über den Datensatz-Speicher; der Warteschlangendatensatz verweist auf die verwendeten Daten.
Schritt: E-Mails versenden (ohne Report)
Vereinfacht den Mailversand, der zwar auch über Syncs möglich ist, hier jedoch einfach kombinierbar wird.
Voraussetzung sind zwischengespeicherte Daten; per Bedingung können Datensätze ausgeschlossen werden.
Parameter
Name
Präfix sowie Fallback-Betreff.
Daten aus Vorgänger
Auswahl von Quell-/Zieldaten eines vorherigen Syncs.
Ausführungsart
- „Versand mit Quelldaten aus Vorgänger“
- „Versand mit Zieldaten aus Vorgänger“
Bedingung für Ausführung
SQL-Bedingung je Datensatz (##-Platzhalter).
Empfänger / CC / BCC / Betreff
Semikolon-getrennt; #-Platzhalter je Datensatz.
Vorlage für Nachrichten
HTML/Text-Vorlage aus Serienbriefen (vorab speichern).
E-Mail-System
Versand nicht über Syncler-SMTP; Auswahl eines E-Mail-Systems (SMTP) inkl. Absender.
Fehlerbehandlung
- „Ablauf abbrechen“
- „Ablauf fortsetzen“
Auch hier erfolgt die Fehlerbehandlung über den Datensatz-Speicher des Ablaufs.
Das Lesen von Quelldaten
Manche Abläufe benötigen zunächst nur das Einlesen einer Datenmenge, auf die spätere Schritte zugreifen.
Dafür gibt es zwei Optionen:
- Sync ohne Feldzuordnungen (reines Lesen, optional mit Transformation)
- „Universal Ablauf – Daten lesen“
- Spezialisierter Sync-Typ mit Parametern für Lesen und Transformation, ohne nachfolgende Verarbeitung.
Best Practices
- Kleine, klar abgegrenzte Schritte: Besser mehrere einfache als einen komplexen Schritt.
- Zwischenspeicherung gezielt nutzen: Nur dort, wo Wiederholung/Verkettung es erfordert (Speicher/Performance).
- Filtern nahe an der Quelle: Datenmenge früh reduzieren; Platzhalter klar dokumentieren.
- Fehlerstrategie festlegen: Definieren, wann der Ablauf abbrechen vs. fortsetzen soll.
- Ad-hoc-Eingang testen: Konsistente Ergebnisse bei manuellen Starts sicherstellen.
- Logs und Warteschlange prüfen: Für Nachvollziehbarkeit und SLA-Kontrolle.
Häufige Stolpersteine & Hinweise
- Nicht kompatible Quellen/Ziele: Direkte Übernahme von Zwischenständen funktioniert nur bei passenden Systemen/Objekten.
- Unvollständige Zieldaten: Nicht jeder Sync liefert vollständige Ziel-Payloads – vor Nutzung validieren.
- Positionsdaten: Transformations-/Filterergebnisse von Positionen werden nicht zwischengespeichert.
- Abfrage-Syncs: Für per-Datensatz-Verarbeitung sind ID-Felder Pflicht.
- #FlowFilter# / ##-Platzhalter: Syntax exakt gemäß Quell-System; Testabfragen empfehlen sich vor Produktivsetzung.
Beispiel: Orchestrierung
flowchart TD
A[Start Ablauf] --> B[Sync 1: Stammdaten lesen]
B --> C{Daten vorhanden?}
C -- Nein --> X[Abbruch]
C -- Ja --> D[Sync 2: Bewegungsdaten verarbeiten<br/>Daten aus Vorgänger übernehmen]
D --> E{Fehler?}
E -- Ja und Abbruch --> X
E -- Nein oder Fortsetzen --> F[Report erzeugen und versenden]
F --> G[E-Mails versenden]
G --> H[Ende Ablauf]