Zum Inhalt springen

Globale Variablen im Jitterbit Design Studio

Einführung

Globale Variablen sind eine der drei Arten von globalen Datenelementen, die in Harmony verfügbar sind. (Die beiden anderen Arten von globalen Datenelementen – Projektvariablen und Jitterbit-Variablen – sind ebenfalls global in einem Projekt verfügbar. Sie werden unterschiedlich festgelegt, wie in Projektvariablen und Jitterbit-Variablen beschrieben.)

Globale Variablen werden zunächst in einer Operation deklariert, nach der sie in derselben oder in nachgelagerten Operationen und Skripten referenziert werden können. Nachgelagerte Operationen oder Skripte sind diejenigen, die innerhalb einer Operationskette oder in den Funktionen RunOperation oder RunScript verknüpft sind.

Globale Variablen können auch als Quelle oder Ziel innerhalb der Operation verwendet werden, wie in Globale Variablenquelle und Globale Variablenziel beschrieben.

Es kann sinnvoll sein, globale Variablen zu verwenden, wenn Ihr Anwendungsfall das Teilen von Informationen mit nachfolgenden Teilen einer Operationskette umfasst, wie in diesen Beispielen:

  • Verwendung eines Wertes, der in einer Transformation erstellt wurde, in einer späteren Transformation. Zum Beispiel kann eine Sitzungs-ID (die von einem Login-Webdienst zurückgegeben wird) erforderlich sein, wenn nachfolgende Webdienste zur Authentifizierung aufgerufen werden.
  • Verwendung eines Wertes, der in einem Teil einer Transformation erstellt wurde, zu einem späteren Zeitpunkt derselben Transformation. Zum Beispiel kann eine Datensatznummer initialisiert und für jeden in ein Ziel eingefügten Datensatz erhöht werden, um ihre Artikelnummer zu identifizieren.
  • Verwendung eines Wertes, der in einer Transformation zurückgegeben wird, in der Konfiguration von Komponenten in nachfolgenden Operationen. Zum Beispiel kann die von einer Transformation zurückgegebene URL-Einstellung verwendet werden, um die Webdienst-URL eines nachfolgenden Webdienstaufrufs festzulegen.

Globale Variablen werden durch verkettete Operationen übergeben. Dazu gehören Operationen, die über On Success- oder On Failure-Ereignisse mit einer vorherigen Operation innerhalb der Operationenkette verknüpft sind, sowie solche, die über die Funktion RunOperation() verbunden sind. Globale Variablen können auch innerhalb derselben Transformation verwendet werden.

Definierte globale Variablen sind im Tab Data Elements des Skript-Editors verfügbar, der über die Bildschirme für Skripte und Transformationen zugänglich ist.

Globale Variablen erstellen und aktualisieren

Im Design Studio werden globale Variablen entweder mit Jitterbit Script oder JavaScript erstellt oder aktualisiert.

Namen globaler Variablen

Namen globaler Variablen können aus alphanumerischen Zeichen (den Buchstaben a-z und A-Z sowie den Ziffern 0-9), Punkten (.) und Unterstrichen (_) bestehen. (Andere Zeichen, wie Bindestriche, werden nicht empfohlen und können Probleme verursachen.) Namen globaler Variablen sind nicht groß-/kleinschreibungssensitiv; eine Variable namens GlobalVar wird gleich behandelt wie globalvar.

Es kann eine gute Praxis sein, Punkte oder Unterstriche bei der Definition globaler Variablen zu verwenden, damit sie leicht zu finden sind. Zum Beispiel beginnt eine in einem Jitterbit Script erstellte globale Variable mit dem Namen org.account.filename mit org, gefolgt von account usw., was sie effektiv nach Domäne organisiert, wenn sie in einer Liste unter anderen ähnlich konstruierten globalen Variablen steht. Beachten Sie, dass für in JavaScript erstellte globale Variablen (oder für Jitterbit Script globale Variablen, die später in JavaScript verwendet werden könnten) empfohlen wird, Unterstriche anstelle von Punkten zu verwenden. Die Verwendung von Punkten in benutzerdefinierten globalen Variablen in JavaScript verursacht zur Laufzeit Probleme. Weitere Informationen finden Sie im nachstehenden Abschnitt JavaScript.

Jitterbit Script

In Jitterbit Script, das innerhalb von Skripten und Transformationen verwendet wird, kann eine globale Variable definiert werden, indem man mit einem Dollarzeichen $ beginnt oder die Funktion Set() aufruft:

  • $: Mit der Dollarzeichen-Syntax $ erstellt oder aktualisiert $ServerURL=URL eine globale Variable namens ServerURL mit dem Wert von URL (dem Namen einer anderen Variablen oder dem Namen eines Feldes in einer Transformation).
  • Set: Mit der Funktion Set() erstellt oder aktualisiert Set("ServerURL", URL) eine globale Variable namens ServerURL mit dem Wert von URL (dem Namen einer anderen Variablen oder dem Namen eines Feldes in einer Transformation).

JavaScript

In JavaScript, das innerhalb von Skripten verwendet wird, die innerhalb einer Operation erstellt wurden, hängt die Syntax zum Setzen einer globalen Variable davon ab, ob der Name der globalen Variable einen Punkt enthält:

  • Name enthält keinen Punkt (empfohlen): Eine globale Variable, die keinen Punkt in ihrem Namen enthält, kann mit var $<name> erstellt oder aktualisiert oder einfach mit $<name> ohne var aktualisiert werden:

    • var $: Der Ausdruck var $ServerURL="https://www.example.com/" erstellt oder aktualisiert eine globale Variable ServerURL mit einem Stringwert von https://www.example.com/. Eine neue globale Variable muss mit var vor dem $ stehen.
    • $: Der Ausdruck $ServerURL="https://www.example.com/" aktualisiert dieselbe globale Variable ServerURL mit derselben String-URL. Dies funktioniert nur für globale Variablen, die bereits existieren.
  • Name enthält einen Punkt (nur empfohlen für Jitterbit-Variablen und JavaScript-Objektwerte): Eine Variable, die Punkte in ihrem Namen enthält, kann in JavaScript nur mit den Funktionen Jitterbit.SetVar und Jitterbit.GetVar aktualisiert oder abgerufen werden. Da diese Funktionen nicht für benutzerdefinierte globale Variablen gedacht sind, siehe Jitterbit-Variablen für weitere Informationen.

    Warnung

    Die JavaScript-Funktionen Jitterbit.SetVar und Jitterbit.GetVar sind speziell dafür konzipiert, auf die vordefinierten Jitterbit-Variablen zuzugreifen. Sie sind nicht dafür gedacht, um auf benutzerdefinierte globale Variablen zuzugreifen.

Globale Variablenwerte in Skripten oder Transformationen abrufen

Im Design Studio kann der Wert einer globalen Variablen entweder mit Jitterbit Script oder JavaScript zurückgegeben werden.

Jitterbit Script

In Skripten und Transformationen kann man mit einem Dollarzeichen $ gefolgt vom Namen der globalen Variablen beginnen oder die Funktion Get() verwenden, um den Wert einer globalen Variablen abzurufen:

  • $: Mit einem Dollarzeichen $ vorangestellt, gibt das Codebeispiel $ServerURL den Wert der globalen Variablen ServerURL zurück.
  • Get: Mit der Funktion Get() gibt das Codebeispiel Get("ServerURL") den Wert der globalen Variablen ServerURL zurück.

JavaScript

In JavaScript-Skripten innerhalb einer Operation hängt die Syntax zum Abrufen einer globalen Variablen davon ab, ob der Name der globalen Variablen einen Punkt enthält:

  • Name enthält keinen Punkt (empfohlen): Der Wert einer globalen Variablen, die keinen Punkt im Namen hat, kann abgerufen werden, indem man mit einem Dollarzeichen $ beginnt:

    • $: Mit einem Dollarzeichen $ vorangestellt, ruft der Ausdruck $ServerURL den Wert der globalen Variablen ServerURL ab.
  • Namen mit Punkten (nur für Jitterbit-Variablen und JavaScript-Objektwerte empfohlen): Eine Variable, die einen Punkt in ihrem Namen enthält, kann in JavaScript nur mit den Funktionen Jitterbit.SetVar und Jitterbit.GetVar aktualisiert oder abgerufen werden. Da diese Funktionen nicht für benutzerdefinierte globale Variablen gedacht sind, siehe Jitterbit-Variablen für weitere Informationen.

    Warnung

    Die JavaScript-Funktionen Jitterbit.SetVar und Jitterbit.GetVar sind speziell dafür konzipiert, auf die vordefinierten Jitterbit-Variablen zuzugreifen. Sie sind nicht dafür gedacht, um auf benutzerdefinierte globale Variablen zuzugreifen.

    In JavaScript mischen Sie bitte nicht die Verwendung von SetVar (und GetVar) mit der $-Präfixierung beim Setzen (und Abrufen) einer Variablen. Verwenden Sie nur eine Syntax. Das Mischen der beiden unterschiedlichen Syntaxen für dieselbe Variable kann zur Laufzeit Probleme verursachen.

    Wenn ein JavaScript fehlschlägt, gehen alle Änderungen am Wert einer globalen Variablen verloren. Nur wenn das JavaScript erfolgreich abgeschlossen wird, sind die modifizierten Werte globaler Variablen außerhalb des Skripts verfügbar.

Verwenden Sie globale Variablen in Definitionsbildschirmen

In einem Definitionsbildschirm (wie während der Konfiguration von Quellen oder Zielen) können Sie globale Variablen mit der Syntax [GlobalVariableName{DefaultValue}] referenzieren.

Zum Beispiel, um einen Wert für eine Server-URL in einem Webdienstaufruf bereitzustellen, können Sie die Syntax der globalen Variablen [ServerURL] anstelle eines fest codierten Wertes verwenden. Der Wert, der der globalen Variablen ServerURL zugewiesen ist, würde dann zur Laufzeit verwendet.

Um einen Standardwert anzugeben, verwenden Sie geschweifte Klammern { } unmittelbar nach dem Namen der globalen Variablen innerhalb der eckigen Klammern [ ]. Zum Beispiel wird Folgendes den Wert der globalen Variablen ServerURL auswerten, wenn die Variable definiert ist; wenn nicht definiert, wird http://server/index.asp verwendet:

[ServerURL{http://server/index.asp}]

Zur Laufzeit wird ein in einem Definitionsbildschirm definierter Standardwert nur verwendet, wenn der Variablenwert zur Laufzeit nicht gesetzt wurde. Dies ist anders während des [Skripttests](/de/design-studio/design-studio-reference/scripts/create-a-script), wo—da alle vorhergehenden Skriptwerte noch nicht instanziiert wurden—jeder in einem Definitionsbildschirm definierte Standardwert stattdessen verwendet wird.

!!! tip "Tipp"
    Wenn Sie eine globale Variable in einer WHERE-Klausel verwenden, wie zum Beispiel in einer Datenbank- oder Salesforce-Abfrage, empfehlen wir, einen Standardwert anzugeben, damit ein Skripttest möglich ist. Andernfalls, da eine globale Variable ihren Wert zur Laufzeit erhält, kann die Syntax während des Tests ungültig sein, wenn kein Standardwert angegeben wurde.

Wenn Sie nicht möchten, dass die globale Variable interpretiert wird, verwenden Sie einen Backslash "\", um die eckigen Klammern "[" und "]" zu maskieren. Dies kann vorübergehend während des Testens nützlich sein. Zum Beispiel wird der folgende Ausdruck den Wert von ServerURL nicht verwenden (auch wenn er definiert ist), sondern immer http://server/index.asp verwenden:

\[ServerURL{http://server/index.asp}]

Vorsicht

Innerhalb von Dateipfaden, die Backslashes enthalten, wird ein einzelner Backslash als Beginn einer Escape-Sequenz interpretiert, wenn er von einem eckigen Klammernsatz "[" und "]" gefolgt wird.

Zusätzliche Backslashes können verwendet werden, um das gewünschte Ergebnis zu erzielen. Zum Beispiel wird \\server\share\\[Directory{testing}] als \\server\share\testing interpretiert, wenn die Variable Directory nicht definiert ist; andernfalls wird \\server\share\"Wert von Directory" verwendet.

Um dieses Problem zu vermeiden, wird empfohlen, Dateipfade in das URL-Format zu konvertieren (z. B. C:/directory/path).

Global variable how-tos

Siehe diese Abschnitte für Tipps zur Verwendung globaler Variablen in Ihren Projekten:

Überprüfen auf null oder undefinierte Werte

Ein globales Datenelement, das nicht definiert wurde, wird als nullwertig betrachtet.

Zum Beispiel gibt IsNull(Get("GlobalVariableName")) true zurück, wenn eine globale Variable mit dem Namen GlobalVariableName noch nicht definiert wurde. Dies kann verwendet werden, um zu überprüfen, ob eine globale Variable definiert wurde oder nicht.

Array-Variablen festlegen und darauf zugreifen

Sie können Arrays von globalen Variablen erstellen, die auch als Array-Variablen bekannt sind. Siehe Arrays für Informationen zum Festlegen und Abrufen von Werten aus Array-Variablen.