Zum Inhalt springen

Lokale Variablen im Jitterbit Design Studio

Einführung

Lokale Variablen in Jitterbit sind nur innerhalb des aktuell verwendeten Skripts oder der Transformationszuordnung verfügbar. Verwenden Sie eine lokale Variable nur, wenn die Variable nur vorübergehend im aktuellen Skript benötigt wird.

Vorsicht

Verwenden Sie keine lokale Variable, wenn die Variable für die Verwendung in anderen Teilen Ihres Projekts bestehen bleiben soll. Für die Verwendung außerhalb des aktuellen Skripts verwenden Sie eine globale Variable oder eine Projektvariable.

Wenn eine lokale Variable in einem Transformationsskript verwendet wird, kann die lokale Variable zur Laufzeit für andere Skripte in derselben Transformation zugänglich sein. Es wird empfohlen, die lokale Variable in jedem Skript explizit auf einen Standardwert zu setzen, um unerwartetes Verhalten zu vermeiden.

Erstellen einer lokalen Variable

Da eine lokale Variable keinen Wert haben kann, bevor sie definiert ist, müssen Sie sie definieren, bevor sie verwendet wird.

Im System wird eine lokale Variable durch das Fehlen des Dollarzeichens '\(' erkannt, das normalerweise dem Namen einer globalen Variable vorangestellt ist. Da das '\)' fehlt, wird eine lokale Variable nicht global "gesehen". Während ein globales Datenelement verwendet werden kann, um einen Wert zwischen verschiedenen Skripten zu übergeben, wird die lokale Variable nach der Ausführung des Skripts, das sie verwendet, für das System nicht mehr sichtbar.

Um eine lokale Variable festzulegen und zu verwenden, lassen Sie einfach das '$' weg. Eine lokale Variable kann nicht mit den Funktionen Set und Get festgelegt oder abgerufen werden.

Variablenbezeichnungen

Variablenbezeichnungen können aus diesen Zeichen bestehen: Buchstaben (a-z, A-Z), Zahlen (0-9) und Unterstrich. Andere Zeichen sind nicht erlaubt und können Probleme verursachen. (Beachten Sie, dass im Fall von lokalen Variablen das Punktzeichen nicht erlaubt ist.)

Beispiele

In diesem Beispiel ist now eine lokale Variable und nur in diesem Skript verfügbar (d. h. vor dem abschließenden </trans>-Tag). Im Gegensatz dazu ist $tomorrow eine globale Variable, die bis zum Ende der aktuellen Operationkette verfügbar ist:

<trans>
now = Now();
WriteToOperationLog("The time is " + now);
$tomorrow = now + 60*60*24;
</trans>

Dieses Beispiel ruft den Wert eines Knotens ab, und wenn dieser Wert null ist, setzt es ihn auf den String "Nicht festgelegt" und gibt dann den Wert zurück:

<trans>
value = root$transaction.request$body$Calculate$input.Operand1$;
if(IsNull(value),
    value = "Not Set"
  );
value
</trans>

Dieses Beispiel ruft den Wert von drei Knoten ab, addiert den höheren der ersten beiden Werte zum dritten Wert und gibt dann den dritten Wert zurück:

<trans>
value1 = root$transaction.request$body$Calculate$input.Operand1$;
value2 = root$transaction.request$body$Calculate$input.Operand2$;
value3 = root$transaction.request$body$Calculate$input.Operand3$;

if(value1 > value2,
    value3 += value1
  , //else
    value3 += value2
  );
value3
</trans>