Wenn du einen Plan öffnest und in der Navigation den Tab „Connection“ öffnest (wähle die entsprechende Richtung aus, die du anpassen möchtest), stehen dir folgende Bereiche zum Anpassen zur Verfügung:
- Mapping
- Aktionen
- Bedingungen
- Advanced Options
Nachfolgend erläutern wir, was hinter den „Advanced Options“ steckt. Folgende Parameter können angepasst werden:
- Transfer: Single select
- Overwrite input identifier: field
- Overwrite output identifier: field
- Relation identifier: field
- Not use entry relation store: boolean
- Backpersist creation field: field
- Backpersist delete field: field
- Backpersist delete value: string
Transfer
Du kannst zwischen drei Optionen wählen: „always“, „only on create“, „only on update“. Dabei legst du fest, wie synchronisiert werden soll. „Only on create“ bedeutet, dass nur synchronisiert wird, wenn durch die Synchronisation ein neuer Datensatz im Zielsystem angelegt werden muss. „Only on update“ bedeutet dahingegen, dass kein neuer Datensatz im Zielsystem angelegt werden darf, Datensätze können nur aktualisiert werden, sprich der Datensatz muss bereits erstellt sein. „Always“ inkludiert beide Optionen. Es werden also Datensätze aktualisiert und neu angelegt.
Overwrite input identifier
In overwrite input identifier kannst du ein neues Identifier Field festlegen. Input bezieht sich hier auf das System aus dem synchronisiert wird.
Wenn du einen unidirektionalen Plan hast, kannst du das entsprechende Feld direkt zu Beginn richtig definieren (vgl. Plan einrichten).
Overwrite output identifier
In overwrite output identifier kannst du ein neues Identifier Field festlegen. Output bezieht sich hier auf das System in das synchronisiert wird.
Wenn du einen unidirektionalen Plan hast, kannst du das entsprechende Feld direkt zu Beginn richtig definieren (vgl. Plan einrichten).
Relation identifier
In diesem Feld kannst du für die Input-Seite den Relation Identifier überschreiben. Dieses Feld wird verwendet, um im Relation-Store die Relationen nachzuschauen. Der Relation Identifier ist gleichzusetzen mit dem Foreign Key.
Not use entry relation store
Dieses Feld ist ein boolean. Du kannst entweder ein true oder false setzen. Die Sinnhaftigkeit ist eng mit der Option „Relation Identifier“ verbunden. Die Bedeutung ist jedoch umgedreht. True bedeutet, dass der Relation Store nicht (die gespeicherten Relationen) genutzt wird.
Fall 1: Kein Relation Identifier ist definiert im oberen Feld & Option False (d.h. Relation Store wird verwendet)
Dies ist der Standard-Fall. Der Relation-Store wird normal verwendet und der Relation Identifier wird nicht überschrieben. Die Optionen werden nicht ausgefüllt.
Fall 2: Ein Relation Identifier ist definiert im oberen Feld & Option True (d.h. Relation Store wird nicht verwendet)
Dieser Fall ergibt Sinn, wenn der Relation-Store nicht verwendet werden soll/ muss. Dies könnte der Fall sein, wenn in einem System bereits die Relationen vorhanden sind. Beispielsweise ist in System A bereits ein Feld mit der ID von System B angelegt und gefüllt. Dann kann dieses auch genutzt werden und die Aktualisierungen in System A von ID-Feld für System B werden somit berücksichtigt.
In diesem Fall sollte unbedingt die Option „backpersist creation field“ gesetzt, damit die IDs von neu angelegten Datensätze in System B auch in System A zurückgeschrieben werden.
Den häufigsten Fall für diese Option findest du im Detail hier beschrieben:
Backpersist creation field
Bei backpersist wird die ID, wenn ein Datensatz im Zielsystem angelegt wird, in ein definiertes Feld zurückgeschrieben. Dieses Feld legst du hier fest. Beispielsweise:
Über einen Plan wird aus System A in System B synchronisiert. Ein Datensatz aus System A wird in System B angelegt, weil er dort noch nicht existiert. Die ID des Datensatzes in System B wird nach dem Anlegen in System A in das definierte (backpersist creation field).
Backpersist delete field
In das backpersist delete field wird ein Wert geschrieben, wenn der Datensatz im Zielsystem gelöscht wird. Der default ist 1. Sofern du einen custom value schreiben möchtest, dann trage diesen Wert in backpersist delete value ein.
Zum Beispiel synchronisierst du von System A zu System B. Wird in System B nun ein Datensatz gelöscht und ist nicht mehr verfügbar, schreibt die HubEngine in das festgelegte backpersist delete field.
Backpersist delete value
Hier legst du den Wert fest, der in das backpersist delete field geschrieben werden soll.