Zum Inhalt springen

Globale Variablen im Jitterbit Design Studio

Einführung

Globale Variablen sind einer der drei Typen globaler Datenelemente, die in Harmony verfügbar sind. (Die beiden anderen Typen globaler Datenelemente - Projektvariablen und Jitterbit-Variablen - sind ebenfalls global im gesamten Projekt verfügbar. Sie werden unterschiedlich festgelegt, wie in Projektvariablen beschrieben und Jitterbit-Variablen.)

Globale Variablen werden zuerst in einer Operation deklariert. Danach sind sie verfügbar und können in denselben oder in nachlegende Operationen und Scripts referenziert werden. Nachgelagerte Operationen oder Scripts sind solche, die innerhalb einer Operation oder der RunOperation oder RunScript Funktionen.

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

Sie möchten möglicherweise globale Variablen verwenden, wenn Ihr Anwendungsfall das Teilen von Informationen mit nachfolgenden Teilen einer Operation beinhaltet, wie in diesen Beispielen:

  • Verwenden eines in einer Transformation erstellten Werts in einer späteren Transformation. Beispielsweise kann eine Sitzungs-ID (die von einem Anmelde-Webdienst zurückgegeben wird) erforderlich sein, wenn nachfolgende Webdienste zur Authentifizierung aufgerufen werden.
  • Verwenden eines in einem Teil einer Transformation erstellten Werts in einem späteren Stadium derselben Transformation. Beispielsweise kann eine Datensatznummer für jeden in ein Ziel eingefügten Datensatz initialisiert und erhöht werden, um dessen Artikelnummer zu identifizieren.
  • Verwenden eines in einer Transformation zurückgegebenen Werts in der Konfiguration von Komponenten in nachfolgenden Vorgängen. Beispielsweise kann die von einer Transformation zurückgegebene URL Einstellung verwendet werden, um die Webdienst-URL eines nachfolgenden Webdienstaufrufs festzulegen.

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

Definierte globale Variablen sind auf der Tab Datenelemente des Script Generators verfügbar, auf den über die Scripts und Transformations zugegriffen werden kann.

Erstellen und Aktualisieren globaler Variablen

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

Globale Variablennamen

Globale Variablennamen können aus alphanumerischen Zeichen (den Buchstaben a-z und A-Z und den Ziffern 0-9), Punkten (.) und Unterstrichen (_) bestehen. (Andere Zeichen, wie Bindestriche, werden nicht empfohlen und können Probleme verursachen.) Globale Variablennamen unterscheiden nicht zwischen Groß- und Kleinschreibung. Eine Variable namens GlobalVar wird gleich behandelt wie globalvar.

Es kann sinnvoll sein, bei der Definition globaler Variablen Punkte oder Unterstriche zu verwenden, damit diese leicht zu finden sind. Beispielsweise kann eine globale Variable, die in einem Jitterbit Script erstellt wurde, den Namen org.account.filename beginnt mit org, gefolgt von account, usw., wodurch es effektiv nach Domänen organisiert wird, wenn es sich in einer Liste zwischen anderen ähnlich konstruierten globalen Variablen befindet. Beachten Sie, dass wir für globale Variablen, die in JavaScript erstellt wurden (oder für globale Variablen in Jitterbit Script, die später in JavaScript verwendet werden könnten), die Verwendung von Unterstrichen anstelle von Punkten empfehlen. Die Verwendung von Punkten in benutzerdefinierten globalen Variablen in JavaScript verursacht zur Laufzeit Probleme. Weitere Informationen finden Sie im JavaScript Unterabschnitt weiter unten.

Jitterbit Script

In Jitterbit Script, die innerhalb von Scripts verwendet werden und Transformations, kann eine globale Variable definiert werden, indem man mit einem Dollarzeichen beginnt $ oder telefonisch unter Set() Funktion:

  • $: Das Dollarzeichen verwenden $ Syntax, $ServerURL=URL erstellt oder aktualisiert eine globale Variable namens ServerURL mit dem Wert von URL (der Name einer anderen Variable oder der Name eines Felds in einer Transformation).
  • Set: Mithilfe der Set() Funktion, Set("ServerURL", URL)erstellt oder aktualisiert eine globale Variable namens ServerURL mit dem Wert von URL (der Name einer anderen Variable oder der Name eines Felds in einer Transformation).

JavaScript

In JavaScript, das innerhalb von Scripts verwendet wird im Rahmen einer Operation erstellt wird, hängt die zum Festlegen einer globalen Variablen verwendete Syntax davon ab, ob der Name der globalen Variablen einen Punkt enthält:

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

    • 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 vor dem $ mit var.
    • $: Der Ausdruck $ServerURL="https://www.example.com/" aktualisiert die gleiche globale Variable ServerURL mit der gleichen Zeichenfolge URL. Dies funktioniert nur für globale Variablen, die bereits vorhanden sind.
  • Name enthält einen Punkt (empfohlen nur für Jitterbit-Variablen und JavaScript-Objektwerte): Eine Variable, die Punkte im Namen enthält, kann in JavaScript nur mit dem Jitterbit.SetVar Und Jitterbit.GetVar Funktionen. Da diese Funktionen nicht für benutzerdefinierte globale Variablen vorgesehen sind, siehe Jitterbit-Variablen für weitere Informationen.

    Warnung

    Das JavaScript Jitterbit.SetVar Und Jitterbit.GetVar Funktionen sind speziell für den Zugriff auf die vordefinierten Jitterbit-Variablen. Sie dürfen nicht zum Zugriff auf benutzerdefinierte globale Variablen verwendet werden.

Abrufen globaler Variablenwerte in Scripts oder Transformations

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

Jitterbit Script

In Scripts und Transformations können Sie mit einem Dollarzeichen beginnen $ gefolgt vom globalen Variablennamen oder verwenden Sie das Get() Funktion zum Abrufen des Wertes einer globalen Variable:

  • $: Vorangestellt ist ein Dollarzeichen $, das Codebeispiel $ServerURL gibt den Wert der globalen Variable zurück ServerURL.
  • Get: Mit dem Get() Funktion, das Codebeispiel Get("ServerURL") gibt den Wert der globalen Variable zurück ServerURL.

JavaScript

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

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

    • $:Mit einem Dollarzeichen als Präfix $, der Ausdruck $ServerURL ruft den Wert der globalen Variable ab, die aufgerufen wird ServerURL.
  • 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 dem Jitterbit.SetVar Und Jitterbit.GetVar Funktionen. Da diese Funktionen nicht für benutzerdefinierte globale Variablen vorgesehen sind, siehe Jitterbit-Variablen für weitere Informationen.

    Warnung

    Das JavaScript Jitterbit.SetVar Und Jitterbit.GetVar Funktionen sind speziell für den Zugriff auf die vordefinierten Jitterbit-Variablen. Sie dürfen nicht verwendet werden, um auf benutzerdefinierte globale Variablen zuzugreifen.

    In JavaScript sollten Sie nicht die Verwendung von SetVar (Und GetVar) mit $-Präfixierung beim Setzen (und Abrufen) einer Variablen. Verwenden Sie nur eine Syntax. Das Mischen der beiden verschiedenen Syntaxen für dieselbe Variable kann zur Laufzeit zu Problemen führen.

    Wenn ein JavaScript fehlschlägt, gehen alle Änderungen am Wert einer globalen Variable verloren. Nur wenn das JavaScript erfolgreich abgeschlossen wird, sind geänderte globale Variablenwerte außerhalb des Script verfügbar.

Verwenden globaler Variablen in Definitionsbildschirmen

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

Um beispielsweise einen Wert für eine Server URL in einem Webdienstaufruf bereitzustellen, können Sie die globale Variablensyntax verwenden [ServerURL] anstelle eines fest codierten Wertes. Der der globalen Variable zugewiesene Wert ServerURL würde dann zur Laufzeit verwendet werden.

Um einen Standardwert anzugeben, verwenden Sie geschweifte Klammern { } unmittelbar nach dem globalen Variablennamen in den eckigen Klammern [ ]. Das Folgende wird beispielsweise als Wert der globalen Variable ausgewertet ServerURL wenn die Variable definiert ist; wenn nicht definiert, http://server/index.asp wird verwendet:

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

Zur Laufzeit eines Operation wird ein in einem Definitionsbildschirm definierter Standardwert nur dann verwendet, wenn der Variablenwert während der Laufzeit nicht festgelegt wurde. Dies ist beim Script anders, wobei - da noch keine davorlegende Script instanziiert wurden - stattdessen jeder in einem Definitionsbildschirm definierte Standardwert verwendet wird.

Tipp

Wenn Sie eine globale Variable in einer WHERE-Klausel verwenden, z. B. in einer Datenbank- oder Salesforce Abfrage, empfehlen wir, einen Standardwert anzugeben, damit Script möglich sind. Da eine globale Variable ihren Wert zur Laufzeit erhält, kann die Syntax beim Testen ungültig sein, wenn kein Standardwert angegeben wurde.

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

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

Achtung

Innerhalb von Dateipfaden, die Backslashs enthalten, wird ein einzelner Backslash als Einleitung einer Escape-Sequenz interpretiert, wenn ihm eine eckige Klammer folgt "[" Und "]".

Um das gewünschte Ergebnis zu erzielen, können zusätzliche Backslashes verwendet werden. Beispiel: \\server\share\\[Directory{testing}] wird interpretiert als \\server\share\testing wenn die Variable Directory ist nicht definiert; andernfalls \\server\share\"value of Directory" verwendet wird.

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

Anleitungen für globale Variablen

In diesen Abschnitten finden Sie Tipps zur Verwendung globaler Variablen in Ihren Projekten:

Auf Nullwerte oder undefinierte Werte prüfen

Ein globales Datenelement, das nicht definiert wurde, hat einen Nullwert.

Beispiel: IsNull(Get("GlobalVariableName")) gibt true zurück, wenn eine globale Variable mit dem Namen GlobalVariableNamewurde noch nicht definiert. Damit kann geprüft werden, ob eine globale Variable definiert wurde oder nicht.

Festlegen und Zugreifen auf Arrayvariablen

Sie können Arrays globaler Variablen erstellen, auch bekannt als Arrayvariablen. Siehe Arrays für Informationen zum Festlegen und Abrufen von Werten aus Arrayvariablen.