Bedingtes Mapping in Transformations im Jitterbit Integration Studio
Einführung
Durch das Erstellen einer Bedingung auf einem Zielknoten, die als bedingte Zuordnung bezeichnet wird, können Sie angeben, ob ein verarbeiteter Quelldatensatz basierend auf einer definierten Bedingung an das Ziel ausgegeben werden soll. Die Bedingung bestimmt (ja oder nein), ob der Datensatz zugeordnet wird. Als Teil dieser Bestimmung können Sie eine Logik einschließen, um festzulegen, welche Werte in der Zuordnung verwendet werden. Beispielsweise kann ein Datensatz nur verwendet werden, wenn die Größe eines Textfelds kleiner als ein angegebenes Maximum ist.
Wichtige Hinweise
Beachten Sie die folgenden Hinweise, wenn Sie ein Script auf einem Zielknoten verwenden:
- Zielknoten können Bedingungen mit einer Kardinalität von
[0+]
,[0, 1]
, oder[1+]
auf jeder Strukturebene. Wenn ein Knoten erforderlich ist ([1+]
) und die Bedingung wird ausgewertet zufalse
, der Operation kann zur Laufzeit fehlschlagen. - Zielknoten, die eine Bedingung haben können, können nur eine Bedingung für jeden Knoten haben. Daher muss die gesamte Logik für die Bedingung in dieser Bedingung enthalten sein.
- Das Script wird immer ausgewertet, bevor Zielfelder ausgewertet werden. Dies bedeutet, dass die gesamte Logik zum Erstellen oder Bestimmen der Werte für diese Zielfelder im Script enthalten sein muss, wenn das Script diese Werte benötigt, um seine Bestimmung abzuschließen.
- Wenn mehrere Bedingungen vorhanden sind, werden sie in der Reihenfolge vom äußeren Knoten zum inneren Knoten ausgewertet; wenn sie auf der gleichen Ebene liegen, werden sie in der Reihenfolge von oben nach unten ausgewertet.
Hinzufügen einer Bedingung
Sie können Bedingungen als Scripts auf Zielknoten mit einer Kardinalität von hinzufügen [0+]
, [0, 1]
, oder [1+]
. Entweder im Mapping-Modus oder Script, bewegen Sie den Mauszeiger über den Knotennamen und klicken Sie auf das Klicken Sie auf das Symbol für das Aktionsmenü, um das Aktionsmenü zu öffnen. Wählen Sie im Menü Bedingung zum Knoten hinzufügen:
Wenn Sie diese Option auswählen und sich nicht bereits im Script befinden, werden Sie in den Script versetzt, um eine Bedingung zu erstellen, indem Sie auf dem ausgewählten Knoten ein Script eingeben:
Der Inhalt des Script gibt die Bedingung für die Generierung des Datensatzes an. Eine Bedingung muss einen true
(1) oder false
(0) Wert. Er kann andere Logik enthalten und ein Nebeneffekt dieser Logik kann darin bestehen, den Wert anderer Knoten in der Transformation festzulegen.
Hinweis
Wenn der Knoten erforderlich ist ([1+]
) und die Bedingung wird ausgewertet zu false
, der Operation kann zur Laufzeit fehlschlagen.
Beispiel 1
Das folgende Script erfordert, dass das Quellobjekt code
wertet aus true
damit der Datensatz verarbeitet werden kann. Wenn code
wertet aus zu false
, dann wird der Knoten übersprungen und dieser bestimmte Datensatz wird nicht verarbeitet:
Beispiel 2
Sie können auch die ==
Der Gleichheitsoperator dient als Abkürzung zum Schreiben von Scripts. Die gleiche Bedingung wie in Beispiel 1 könnte beispielsweise wie folgt geschrieben werden:
Beispiel 3
Um eine Bedingung festzulegen, dass ein Datensatz nur verwendet wird, wenn ein Flag zum Veröffentlichen gesetzt ist, können Sie ein Script wie das folgende verwenden:
bool(Publish_To_Community__c) == true
Beispiel 4
Eine Bedingung festlegen, sodass ein Datensatz nur verwendet wird, wenn er kleiner als eine Maximalgröße ist, vorausgesetzt, dass sich der Artikeltext im Element befindet json$results$item.body$view$value$
können Sie ein Script wie dieses verwenden:
pass = true;
// Log article size
$articleDetailsSize = Length(json$results$item.body$view$value$);
WriteToOperationLog('Current article:' +
json$start$ + ' articleDetailsSize:' + $articleDetailsSize);
// Checks if the article size > $MaxArticleDetailSize;
// if so, the article is ignored
if($articleDetailsSize > $MaxArticleDetailSize,
WriteToOperationLog("Ignoring Id " + json$results$item.id$ +
" as too large (" + $articleDetailsSize + ")");
pass = false;
);
pass;
Beispiel 5
Ein Script kann auch Werte festlegen, die in anderen Knoten verwendet werden. Aufbauend auf Beispiel 4 kann der Bedingungsknoten als Teil seiner Logik den beabsichtigten Inhalt eines Felds auf eine globale Variable festlegen:
...
$articleDetails = Replace(json$results$item.body$view$value$,
'href="/','href="https://example.com/');
...
Die globale Variable wird dann verwendet, um den Wert im gewünschten Zielfeld festzulegen Article_Details__c
:
$articleDetails;
Bearbeiten einer Bedingung
Vom Mapping-Modus oder Script, klicken Sie auf das orange Bedingungssymbol rechts neben dem Zielknoten:
Oder bewegen Sie den Mauszeiger über den Knotennamen und klicken Sie auf Klicken Sie auf das Symbol für das Aktionsmenü, um das Aktionsmenü zu öffnen. Wählen Sie im Menü Bedingung bearbeiten aus:
Wenn Sie sich nicht bereits im Script befinden, werden Sie in den Script versetzt, um die Bedingung zu bearbeiten, indem Sie das Script auf dem ausgewählten Knoten bearbeiten.
Entfernen einer Bedingung
Vom Mapping-Modus oder Script, bewegen Sie den Mauszeiger über den Knotennamen und klicken Sie auf das Symbol für das Aktionsmenü, um das Aktionsmenü zu öffnen. Wählen Sie im Menü Bedingung entfernen:
Der Inhalt des Script wird gelöscht, wodurch die Bedingung entfernt wird.
Sie können eine Bedingung auch entfernen, indem Sie das Script manuell bearbeiten, um den Inhalt des Script zu löschen.