Mapping – Relation Lookup

In der HubEngine hast du die Möglichkeit innerhalb eines Planes für die Synchronisierung im Felder-Mapping einen Relation-Lookup anzulegen. Dieser mappt den Wert eines Feldes auf Basis eines Lookups. Folgendes Beispiel veranschaulicht die Funktionsweise. Wir synchronisieren unidirektional (ob uni- oder bidirektional macht keinen Unterschied in diesem Falle, der Einfachheit halber nehmen wir unidirektional) Kontakte und Accounts.

Wir haben vier Tabellen:

  • System A – Contacts
  • System B – Contacts
  • System A – Accounts
  • System B – Accounts

Hinzu kommen jeweils die Relationen für den Relation Store zwischen den Contacts und Accounts. Contacts in System B sind bislang nicht existent und sollen nun synchronisiert werden. Die anderen Module enthalten folgende Datensätze:

System A - Contacts

ID Name Account_ID
1 John A1
2 Jane A2
3 Mary A1

System A - Accounts

ID Name
A1 Company_1
A2 Company_2

System B - Accounts

ID Name
B1 Company_1
B2 Company_2

Account Relations

ID System A ID System B
A1 B1
A2 B2

Wenn wir nun die Contacts synchronisieren, indem wir die Felder ohne zusätzliche Aktion mappen, erhielten wir folgende Tabelle:

System B - Contacts

ID Name Account_ID
A John A1
B Jane A2
C Mary A1

Die Account_ID wird übertragen. Jedoch steht nun die Account_ID aus System A in System B. Wir wollen jedoch die Account_ID von System B in diesem Feld speichern. Sprich, wir möchten folgende Tabelle erhalten, sodass in System B Relationen zwischen Contacts und Accounts hergestellt werden können:

ID Name Account_ID
A John B1
B Jane B2
C Mary B1

Dafür verwenden wir den Relation Lookup im Feld-Mapping des Plans für die Synchronisierung der Contacts. Wenn wir das Feld Account_ID mappen, wählen wir als Type „relation_lookup“ aus. Dabei konfigurieren wir, dass die Account_ID des zu übertragenen Datensatzes im Relation Store des Plans für die Synchronisierung der Accounts zum Nachschlagen verwendet wird. Praktisch passiert folgendes:

  1. Der Datensatz mit der ID „1“ (Contacts) aus System A soll übertragen werden. Anstelle nun die Account_ID „A1“ als Wert einfach zu übertragen, wird diese verwendet, um im Relation Store des Plans für die Account-Synchronisierung die Account_ID aus System B nachzuschlagen.
  2. Account_ID „A1“ wird in der obigen Tabelle Account Relations (den Relation Store des Plans repräsentierend) nachgeschlagen. Als nachgeschlagenen Wert erhalten wir „B1“ zurück.
  3. „B1“ wird als Wert für das Feld Account_ID übertragen.
  4. Wir erhalten ordnungsgemäß die gewünschte Tabelle für Contacts in System B.

Umsetzung in der HubEngine

Der Plan, dessen Relation Store für den Relation Lookup verwendet wird, muss sich in der gleichen Gruppe befinden wie der Plan, in dem der Relation Lookup eingerichtet wird.

In der HubEngine kannst du den Relation Lookup einrichten, indem du in einem Plan in den entsprechenden „Connection“-Tab wechselst. Dort richtest du den Lookup im Mapping ein. Wir synchronisieren hier Contacts und Accounts von SAP zu HubSpot. Der Screenshot zeigt den Plan für die Synchronisierung der Contacts. Wir wollen äquivalent zu obigem Beispiel den Lookup durchführen.

  • System A = SAP
  • System B = HubSpot

Wähle dafür im Mapping den Type „relation_lookup“ aus. Daraufhin erscheint der Button „select relation“.

HubEngine: Mapping - Relation Lookup (1/3)
You can configure a relation lookup in the field mapping. Just select "relation_lookup" as type and click on "select relation".

Wenn du auf den Button „select relation“ klickst, gelangst du zu folgender Auswahlmaske.

HubEngine: Mapping - Relation Lookup (2/3)
Select the plan, you want to execute the lookup in.

Sobald du den Plan auswählst (1. Select Plan), erscheint der zweite Schritt rechts. Hier wählst du aus, mit welcher ID du den Lookup durchführen willst.

Da wir von SAP zu HubSpot synchronisieren (SAP -> HubSpot), wählen wir die ID von SAP aus. Diese wird verwendet, um den Wert der ID von HubSpot nachzuschlagen (lookup) und in das im Mapping angegebene Feld zu übertragen.

HubEngine: Mapping - Relation Lookup (3/3)
If you selected a plan for the lookup to be executed in, select the corresponding id field, you want to do the lookup based on.

Anschließend gelangst du zurück zum Mapping und kannst dort fortfahren.