Zum Inhalt springen

Bedingte Zuordnung in Transformationen im Jitterbit Integration Studio

Einführung

Das Erstellen einer Bedingung für einen Zielknoten wird als bedingte Zuordnung bezeichnet. Die bedingte Zuordnung ermöglicht es Ihnen, anzugeben, ob ein verarbeiteten Quelldatensatz basierend auf einer definierten Bedingung an das Ziel ausgegeben werden soll. Die Bedingung bestimmt (ja oder nein), ob der Datensatz zugeordnet wird. Im Rahmen dieser Bestimmung können Sie Logik einfügen, um festzulegen, welche Werte in der Zuordnung verwendet werden. Zum Beispiel könnten Sie einen Datensatz nur verwenden, wenn die Größe eines Textfelds kleiner als ein festgelegtes Maximum ist.

Wichtige Hinweise

Wenn Sie ein Bedingungsskript für einen Zielknoten verwenden, beachten Sie bitte die folgenden Punkte:

  • Sie können Bedingungen zu Zielknoten mit einer Kardinalität von [0+], [0, 1] oder [1+] auf jeder Strukturebene hinzufügen. Wenn ein Knoten erforderlich ist ([1+]) und die Bedingung auf false evaluiert, kann der Vorgang zur Laufzeit fehlschlagen.
  • Zielknoten, die eine Bedingung haben können, dürfen nur eine Bedingung für jeden Knoten haben. Alle Logik für die Bedingung muss in dieser Bedingung enthalten sein.
  • Das Bedingungsskript wird immer vor der Auswertung der Zielfelder ausgewertet. Das bedeutet, dass alle Logik zur Erstellung oder Bestimmung der Werte für diese Zielfelder im Bedingungsskript enthalten sein muss, wenn das Bedingungsskript diese Werte benötigt, um seine Bestimmung abzuschließen.
  • Wenn mehrere Bedingungen vorhanden sind, werden sie in der Reihenfolge von äußeren Knoten zu inneren Knoten ausgewertet. Wenn sie sich auf derselben Ebene befinden, werden sie in der Reihenfolge von oben nach unten ausgewertet.

Eine Bedingung hinzufügen

Sie können Bedingungen als Skripte auf Zielknoten mit einer Kardinalität von [0+], [0, 1] oder [1+] hinzufügen. Wählen Sie entweder im Zuordnungsmodus oder im Skriptmodus den Knoten aus, fahren Sie mit der Maus über den Knotennamen und klicken Sie auf das Aktionsmenü-Symbol, um das Aktionsmenü zu öffnen. Wählen Sie im Menü Bedingung zum Knoten hinzufügen:

Zielknoten Bedingung hinzufügen

Wenn Sie diese Option auswählen, werden Sie, falls Sie sich nicht bereits im Skriptmodus befinden, in den Skriptmodus versetzt, um eine Bedingung zu erstellen, indem Sie ein Skript im ausgewählten Knoten eingeben.

Der Inhalt des Skripts gibt die Bedingung für die Erstellung des Datensatzes an. Eine Bedingung muss einen true (1) oder false (0) Wert zurückgeben. Sie kann andere Logik enthalten, und eine Nebenwirkung dieser Logik kann sein, den Wert anderer Knoten in der Transformation zu setzen.

Wenn Sie sich im Mapping-Modus befinden und ein bedingtes Skript vorhanden ist, wird ein Bedingungssymbol auf dem Zielknoten angezeigt. Wenn ein Quellobjekt oder eine Variable in einem bedingten Skript verwendet wird, sind Mapping-Linien mit dem Knoten verbunden, und die Anzahl der Zuordnungen umfasst Knoten, in denen das Quellfeld oder die Variable referenziert wird:

bedingte Mapping-Visualisierung

Hinweis

Wenn der Knoten erforderlich ist ([1+]) und die Bedingung zu false ausgewertet wird, kann der Vorgang zur Laufzeit fehlschlagen.

Beispiel 1

Das folgende Skript erfordert, dass das Quellobjekt code zu true ausgewertet wird, damit der Datensatz verarbeitet wird. Wenn code zu false ausgewertet wird, wird der Knoten übersprungen und dieser spezielle Datensatz wird nicht verarbeitet:

Bedingung wenn

Beispiel 2

Sie können auch den == Gleichheitsoperator als Kurzform verwenden, um Bedingungsskripte zu schreiben. Zum Beispiel könnten Sie die gleiche Bedingung, die in Beispiel 1 verwendet wird, so schreiben:

Bedingung Kurzform

Beispiel 3

Um eine Bedingung festzulegen, sodass ein Datensatz nur verwendet wird, wenn ein Flag zum Veröffentlichen gesetzt wurde, könnten Sie ein Skript wie dieses verwenden:

bool(Publish_To_Community__c) == true

Beispiel 4

Um eine Bedingung festzulegen, sodass ein Datensatz nur verwendet wird, wenn er kleiner als eine maximale Größe ist, vorausgesetzt, dass der Artikeltext im Element json$results$item.body$view$value$ enthalten ist, könnten Sie ein Skript 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 Bedingungsskript kann auch Werte setzen, die in anderen Knoten verwendet werden. Aufbauend auf Beispiel 4 kann der Bedingungsknoten im Rahmen seiner Logik den beabsichtigten Inhalt eines Feldes auf eine globale Variable setzen:

...
$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 Ziel-Feld Article_Details__c zu setzen:

$articleDetails;

Eine Bedingung bearbeiten

Sie können eine Bedingung entweder im Mapping-Modus oder im Skriptmodus bearbeiten, indem Sie auf das Bedingungssymbol klicken, das rechts vom Zielknoten angezeigt wird. Sie können auch über den Knotennamen fahren und auf das Aktionsmenü-Symbol klicken, um das Aktionsmenü zu öffnen. Wählen Sie im Menü Bedingung bearbeiten:

Zielknoten Bedingung bearbeiten

Wenn Sie sich nicht bereits im Skriptmodus befinden, werden Sie in den Skriptmodus gebracht, um die Bedingung zu bearbeiten, indem Sie das Skript im ausgewählten Knoten bearbeiten.

Eine Bedingung entfernen

Im Mapping-Modus oder im Skriptmodus fahren Sie über den Knotennamen und klicken auf das Aktionsmenü-Symbol, um das Aktionsmenü zu öffnen. Wählen Sie im Menü Bedingung entfernen:

Zielknoten Bedingung entfernen

Der Inhalt des Skripts wird gelöscht, wodurch die Bedingung entfernt wird.

Sie können eine Bedingung auch entfernen, indem Sie das Bedingungsskript manuell bearbeiten, um den Inhalt des Skripts zu löschen.