Verbindung – Bedingungen

Über Bedingungen kannst du deine Synchronisation zielgenau steuern. Bedingungen (im Folgenden verwenden wir das englische Wort Conditions dafür), legen fest, ob ein Datensatz überhaupt synchronisiert wird (sowohl bei create als auch update). Du kannst Bedingungen vielseitig konfigurieren mit verschiedensten Feldtypen und beliebig verschachtelt (nested). So kannst du komplexe Synchronisationsbedingungen bequem realisieren.

Bedingungen erstellen

Um Bedingungen in deinem Plan zu setzen, navigiere zu dem Reiter Verbindung. Bei einem bidirektionalen Plan, wähle die entsprechende Synchronisationsrichtung aus. Du siehst die gemappten Felder und darunter befindet sich der Konfigurationsbereich für die Bedingungen, direkt unter den Aktionen.

Um eine Bedingung hinzuzufügen, klicke auf den Button Neue Regel.

The HubEngine allows you to set conditions for a synchronization plan to be executed.
The HubEngine allows you to set conditions for a synchronization plan to be executed.

Anschließend kann Type und Value (siehe unteres Bild) für die Bedingung ausgewählt werden.

Bei Type kannst du folgende Typen auswählen:

Typ Was passiert? Input
String Schreibt deinen Text ins Feld. Text Input
Null Setzt das Feld auf „no value“ Es wird kein Input benötigt.
Boolean Setzt das Feld auf True oder False. Setze den Schalter auf den Wert, den du brauchst.
Integer Setzt Feld auf eine Ganzzahl. Benötigt numerischen Input.
Feld des Quellsystems Kopiert den Wert des gewählten Input Felds. Input Feld aus der Liste wählen.
Feld des Zielsystems Kopiert den Wert eines produzierten Output Feldes. Output Feld aus der Liste wählen.
Feld nach Aktion Greift auf Werte zu, die erst nach angewandten Actions da sin. Wähle ein Feld aus der Liste.
Fester Zeitpunkt Schreibt ein bestimmtes Datum in das Feld. Wähle „Nur Datum“ aus, falls du nur das Datum haben willst.
Relatives Datum/Uhrzeit Berechnet ein/e Datum/Zeit basierend auf einem Anker (Now, Input/Output Field). Erstelle das gewünschte Datum z. B. mit Offsets. „Berechnet“ zeigt dir das berechnete Datum an.

Wähle auf der linken Seite am besten immer Feld aus.

HubEngine Conditions Value Types
Conditions Types

Tipps

  • Bei Feld des Quell/Zielsystems wählst du ein Feld aus dem System aus, aus welchem du synchronisierst (Feld des Quellsystems) oder in das du synchronisieren willst (Feld des Zielsystems).
  • Wenn du auf Werte zugreifen möchtest, die erst nach einem Mapping der Feldoptionen vorhanden sind, wählst Du Feld nach Aktion.

Bei allen drei Optionen, kannst du einfach mittels einer Feldauswahlliste das gewünschte Feld selektieren.

Ansonsten gibst du den Wert des Typs ein. Zwischen den beiden Termen kannst du die logische Operation auswählen. Im Screenshot ist die Operation Equals zu sehen.

Logische Operatoren

Folgende Operatoren sind verfügbar:

  • Equals
  • Not Equals
  • Less Than
  • Greater Than
  • Begins With
  • Begins Not With
  • Ends With
  • Ends Not With
  • Contains
  • Contains Not
  • Regex
  • Is Empty
  • Is Not Empty
  • On Create
  • On Update

In unserem Beispiel unten bedeutet dies, dass das Feld sync in dem System, aus dem wir synchronisieren, den Wert 1 haben muss, damit eine Synchronisation des Datensatzes überhaupt stattfindet.

Configure the condition: Choose which side for the condition field is considered (input vs. output) and its name (left column). Then choose the data type you want to set and its value in the right column.
Configure the condition: Choose which side for the condition field is considered (input vs. output) and its name (left column). Then choose the data type you want to set and its value in the right column.

Selbstverständlich kannst du auch mehrere Bedingungen kombinieren. Klicke dafür einfach ein weiteres Mal auf den Button Add Rule.

Wir haben die Bedingung erweitert, sodass das Feld external_id ungleich „null“ sein muss. Die beiden Conditions werden mit einem logischen Und verknüpft (Logische Operatoren). Das heißt, beide Conditions müssen zutreffen, damit eine Synchronisation stattfindet.

You can freely chain and combine conditions for a synchronization plan in the HubEngine.
You can freely chain and combine conditions for a synchronization plan in the HubEngine.

Komplexe Bedingungen

Jetzt möchten wir eine komplexere Bedingung realisieren. Dafür löschen wir die zweite Kondition, da wir diese mit einer weiteren verschachteln. Wir bilden jetzt eine verschachtelte Bedingung ab. Verschachtelte Bedingungen werden auch oft mit Klammern dargestellt. Um Klammern hinzuzufügen, klicken wir auf den Button Neue Gruppe.

Wir möchten folgende Synchronisationsbedingung abbilden (in unterschiedlichen Schreibweisen):

  • (deleted == 0) & (external_id == null | external_id == 0)
  • (deleted == 0) AND (external_id == null OR external_id == 0)
  • deleted ist gleich null und entweder external_id ist gleich null oder ist gleich 0
The HubEngine allows you set unlimited nested conditions for a synchronization plan to be executed.
The HubEngine allows you set unlimited nested conditions for a synchronization plan to be executed.

Die erste Gruppe enthält die Bedingung mit dem sync field und die zweite Gruppe enthält die beiden Bedingungen mit jeweils dem external_id field. Das logische oder bezieht sich auf innerhalb des zweiten Terms/ Gruppe. Das logische und bezieht sich auf zwischen beide Gruppe.

Es müssen sowohl der erste Term (erste Klammer) als auch der zweite Term (zweite Klammer) zutreffen.

Durch den Pfeil neben AND/OR kannst du weitere typische logische Operatoren einblenden. Da diese aber nicht so oft verwendet werden, sind diese standardmäßig ausgeblendet. 

Falls du komplexe Bedingungen baust oder du dir Notizen zu einer Bedingungen machen willst, kannst du per Klick auf Beschreibung ein Eingabefeld für ein Beschreibungstext einblenden und bearbeiten. 

Wenn du Hilfe oder Beratung bei der Einrichtung deiner Conditions benötigst, dann kontaktiere uns einfach. Wir helfen dir gerne!

Marini Systems GmbH | Website | Datenschutz­erklärung | Impressum