Zum Inhalt springen

JavaScript Jitterbit und allgemeine Funktionen im Design Studio

Jitterbit-JavaScripts können neben den Standard-JavaScript-Funktionen, die Teil von ECMA-262 v5.1 sind, auch auf diese Jitterbit-spezifischen Funktionen zugreifen. Da ECMA-262 v5.1 eine ältere Version von JavaScript ist als die, die üblicherweise in Browsern und anderen JavaScript-Engines verfügbar ist, haben wir Tabellen der allgemeinen und standardmäßigen JavaScript-Funktionen aufgenommen, die in Jitterbit-JavaScripts verfügbar sind.

Wichtig

Für eine verbesserte Leistung empfehlen wir, JavaScript nur zu verwenden, wenn eine Jitterbit-Skript Entsprechung nicht verfügbar ist.

Hinweis

  • Die maximale Anzahl an Schleifeniterationen, die in Harmony erlaubt ist, beträgt 50.000.
  • Die maximale Anzahl an Schleifeniterationen in der Jitterbit-Skript-Sprache gilt für jede einzelne Schleife. Um die erlaubte Anzahl an Iterationen pro Schleife in einem Jitterbit-Skript zu erhöhen, siehe Jitterbit.scripting.while.max_iterations in Scripting Jitterbit-Variablen.
  • Die maximale Anzahl an Schleifeniterationen in JavaScript gilt für das gesamte Skript (Summe aller Schleifen innerhalb eines Skripts). Um die maximale Anzahl an Schleifeniterationen in JavaScript zu erhöhen, siehe Java script loop in JavaScript.

Jitterbit-Funktionen

Jitterbit.DbExecute

Deklaration

array Jitterbit.DbExecute(string databaseId, string sql)

int Jitterbit.DbExecute(string databaseId, string sql, string outputVariable,...)

Syntax

Jitterbit.DbExecute(<databaseId>, <sql>)

Jitterbit.DbExecute(<databaseId>, <sql>, <outputVariable>,...])

Erforderliche Parameter

  • databaseId: Eine Zeichenfolge, die die Datenquelle im aktuellen Projekt angibt
  • sql: Der SQL-Befehl, der gegen die Datenbank ausgeführt werden soll
  • outputVariable: (Zweite Form) Ein Ausgabewert, der mit den in dem SQL-Befehl zurückgegebenen Feldern übereinstimmt. Zusätzliche Argumente können nach Bedarf angegeben werden.

Beschreibung

Führt eine SQL-Anweisung auf einer Datenbank aus und gibt die Ergebnisse zurück. Siehe die Jitterbit-Skriptfunktion DBExecute für Details.

Jitterbit.DbLookup

Deklaration

string Jitterbit.DbLookup(string databaseId, string sql)

Syntax

Jitterbit.DbLookup(<databaseId>, <sql>)

Erforderliche Parameter

  • databaseId: Eine Zeichenfolge, die die Datenquelle im aktuellen Projekt angibt
  • sql: Der SQL-Befehl, der gegen die Datenbank ausgeführt werden soll

Beschreibung

Führt eine SQL-Anweisung auf einer Datenbank aus und gibt das erste Feld des ersten Ergebnisses zurück, das den angegebenen Kriterien entspricht. Siehe die Jitterbit-Skriptfunktion DBLookup für Details.

Jitterbit.GetVar

Deklaration

string Jitterbit.GetVar(string jitterbitVariableName)

Syntax

Jitterbit.GetVar(<jitterbitVariableName>)

Erforderliche Parameter

  • jitterbitVariableName: Der Name einer Jitterbit-Variablen

Beschreibung

Gibt den Wert einer Jitterbit-Variablen zurück (eine vordefinierte globale Variable, die im Agenten integriert ist und mit jitterbit. beginnt). Die verfügbaren Variablen können im Design Studio eingesehen werden und sind unter Jitterbit-Variablen dokumentiert.

Warnung

Es ist auch möglich, aber nicht empfohlen, die Funktion Jitterbit.GetVar zu verwenden, um den Wert einer benutzerdefinierten globalen Variablen abzurufen.

Jitterbit.GetVar kann jeden Variablenwert abrufen, der zuvor im selben Skript mit Jitterbit.SetVar festgelegt wurde. Damit der Wert in verschiedenen Skripten zugänglich ist, muss die Variable eine globale Variable mit dem $-Präfix im Namen sein, der an diese Funktionen übergeben wird.

Die Funktion Jitterbit.GetVar ist so konzipiert, dass sie die Verwendung von Variablen ermöglicht, die Punkte im Variablennamen enthalten. Es wird jedoch nicht empfohlen, Punkte in einem benutzerdefinierten globalen Variablennamen zu verwenden. Da der Wert in einen String umgewandelt wird, wenn die Variable festgelegt wird, können diese Funktionen nicht mit komplexen Datentypen wie Arrays, Dictionaries oder JSON-Objekten verwendet werden. Stattdessen wird empfohlen, globale Variablen ohne Punkte zu erstellen und stattdessen Unterstriche anstelle von Punkten zu verwenden und die standardmäßige Dollarzeichen-$-Syntax zu verwenden, wie in Globalen Variablen beschrieben.

Beispiele

// Retrieves the value of the Jitterbit variable "jitterbit.api.request"
var request = Jitterbit.GetVar("$jitterbit.api.request");

Jitterbit.ReadFile

Declaration

string Jitterbit.ReadFile(string sourceId[, string fileFilter])

Syntax

Jitterbit.ReadFile(<sourceId>[, <fileFilter>])

Required parameters

  • sourceId: Dateityp-Quelle im aktuellen Projekt

Optional parameters

  • fileFilter: Dateifilter oder Dateiname, um die Quellendefinition zu überschreiben

Description

Liest den Inhalt einer Datei aus einer Quelle.

Die in diesem Funktionsaufruf verwendete Dateityp-Quelle muss als Quelle im aktuellen Projekt definiert sein.

Siehe die Anweisungen zum Einfügen von Projektelementen.

Die Methode gibt den Inhalt der Datei zurück, auf die die Quelle verweist. Wenn der Quellfilter mehr als eine Datei auswählt, wird die erste verwendet. Es wird empfohlen, eine Quelle anzugeben, die eine einzelne Datei eindeutig identifiziert.

Der Parameter fileFilter ist optional und kann verwendet werden, um den in der Quelldefinition verwendeten Dateifilter zu überschreiben. Ein Dateiname kann verwendet werden. Alternativ kann eine globale Variable verwendet werden, um den Dateifilter in der Quelldefinition zu überschreiben. Globale Variablen werden in der Quelldefinition als [de_name] referenziert.

Seit der Harmony-Version 8.20 schlägt die ReadFile-Funktion nicht fehl, wenn sie fehlschlägt. Ein Skript wird abgebrochen, eine Warnung wird zum Betriebsprotokoll hinzugefügt, und der Vorgang wird fortgesetzt.

Diese Methode kann verwendet werden, um Daten aus einer HTTP-Quelle zu lesen. In diesem Fall werden alle Jitterbit $jitterbit.source.http.*-Variablen befüllt.

Beispiele

// Reads the first file retrieved from a source
var fileContents = Jitterbit.ReadFile("<TAG>Sources/Customer CSV FTP</TAG>");

// Use the filename "test.txt" instead of what is defined in the source
var fileContents = Jitterbit.ReadFile("<TAG>Sources/Customer CSV FTP</TAG>", "test.txt");

Jitterbit.SetVar

Deklaration

Jitterbit.SetVar(string jitterbitVariableName, string value)

Syntax

Jitterbit.SetVar(<jitterbitVariableName>, <value>)

Erforderliche Parameter

  • jitterbitVariableName: Der Name einer Jitterbit-Variable
  • value: Ein Wert, der der Variablen zugewiesen werden soll

Beschreibung

Setzt den Wert einer Jitterbit-Variable (einer vordefinierten globalen Variablen, die im Agenten integriert ist und mit jitterbit. beginnt). Die verfügbaren Variablen können im Design Studio eingesehen werden und sind unter Jitterbit-Variablen dokumentiert.

Warnung

Es ist auch möglich, aber nicht empfohlen, die Funktion Jitterbit.SetVar zu verwenden, um den Wert einer benutzerdefinierten globalen Variablen festzulegen.

Any variable value set by Jitterbit.SetVar can be retrieved by Jitterbit.GetVar later in the same script. For the value to be accessible across scripts, the variable must be a global variable with the $ prefix included in the name string passed to these functions.

Die Funktion Jitterbit.SetVar ist so konzipiert, dass sie die Verwendung von Variablen ermöglicht, die Punkte im Variablennamen enthalten. Es wird jedoch nicht empfohlen, Punkte in einem benutzerdefinierten globalen Variablennamen zu verwenden. Da der Wert beim Setzen der Variablen in eine Zeichenfolge konvertiert wird, können diese Funktionen nicht mit komplexen Datentypen wie Arrays, Dictionaries oder JSON-Objekten verwendet werden. Stattdessen wird empfohlen, globale Variablen ohne Punkte zu erstellen und stattdessen Unterstriche anstelle von Punkten zu verwenden und die standardmäßige Dollarzeichen-$-Syntax zu verwenden, wie in Global variables beschrieben.

Beispiele

// Sets a Jitterbit variable
Jitterbit.SetVar("$jitterbit.scripting.db.max_rows", 1000);

Jitterbit.WriteFile

Declaration

void Jitterbit.WriteFile(string targetId, type fileContents[, string filename])

Syntax

Jitterbit.WriteFile(<targetId>, <fileContents>[, <filename>])

Required parameters

  • targetId: Dateityp-Ziel im aktuellen Projekt

Optional parameters

  • fileContents: Daten, die in die Datei geschrieben werden sollen
  • filename: Dateiname, um die Zieldefinition zu überschreiben

Description

Schreibt die fileContents in das durch targetId angegebene Dateityp-Ziel. Wenn fileContents vom Typ binär ist, werden die binären Daten in die Datei geschrieben. In allen anderen Fällen wird eine Zeichenfolgenrepräsentation der Daten geschrieben. Die Datei wird automatisch durch die Funktion geleert und geschlossen.

Die Dateityp-Ziel, die in diesem Funktionsaufruf verwendet wird, muss als Ziel im aktuellen Projekt definiert sein.

Die verfügbaren Variablen können im Jitterbit Studio eingesehen werden und sind unter Jitterbit-Variablen. dokumentiert.

Der dritte Parameter, filename, ist optional und kann verwendet werden, um den im Ziel verwendeten Dateinamen zu überschreiben. Alternativ kann eine globale Variable verwendet werden, um den Dateinamen in der Zieldefinition zu überschreiben. Globale Variablen werden in der Zieldefinition als [de_name] referenziert.

Diese Methode kann auch verwendet werden, um Daten an ein HTTP-Ziel zu schreiben/zu posten. In diesem Fall werden die Variablen $jitterbit.target.http.* befüllt.

Seit der Harmony-Version 8.20 schlägt die Operation nicht fehl, wenn die Funktion WriteFile fehlschlägt. Ein Skript wird abgebrochen, eine Warnung wird zum Betriebsprotokoll hinzugefügt, und die Operation wird fortgesetzt.

Beispiele

//  Writes the value of $contents to the file defined by a target
Jitterbit.WriteFile("<TAG>Targets/FTP Target</TAG>", $contents);

// Use the filename "test.txt" instead of what is defined in the target
Jitterbit.WriteFile("<TAG>Targets/FTP Target</TAG>", $contents, "test.txt");

SetScriptOutput

Deklaration

void SetScriptOutput(string data)

Syntax

SetScriptOutput(<data>)

Erforderliche Parameter

  • data: Daten, die vom Skript zurückgegeben werden sollen

Beschreibung

Setzt den Wert, der von einem Skript zurückgegeben wird.

Der Rückgabewert eines Skripts kann als Rückgabewert der Funktion RunScript zugegriffen werden.

Beispiele

// In the calling Jitterbit Script script:
$result = RunScript("<TAG>Scripts/CalculateSomething</TAG>", value_to_be_calculated);

// In the Jitterbit JavaScript script "CalculateSomething":
var calculated_value = ...;
...
SetScriptOutput(calculated_value);

SetScriptResult

Deklaration

void SetScriptResult(string data)

Syntax

SetScriptResult(<data>)

Erforderliche Parameter

  • data: Daten, die vom Skript zurückgegeben werden

Beschreibung

Ein Alias für die Funktion SetScriptOutput. Siehe SetScriptOutput für Details.

WriteToOperationLog

Deklaration

string WriteToOperationLog(string message)

Syntax

WriteToOperationLog(<message>)

Erforderliche Parameter

  • message: Eine Zeichenfolgen-Nachricht

Beschreibung

Schreibt eine Nachricht in das Betriebsprotokoll.

Beispiele

// Schreibt eine Nachricht in das Betriebsprotokoll
WriteToOperationLog("Das Quellfeld 'Preis' hat einen ungültigen Wert.");

JavaScript allgemeine Funktionen

Diese allgemeinen JavaScript-Funktionen – Teil von ECMA-262 v5.1 – werden in Jitterbit-JavaScripts unterstützt.

Allgemeine Eigenschaft Beschreibung
Array Siehe die JavaScript-Array-Eigenschaften und -Funktionen
Date Siehe die JavaScript-Datumseigenschaften und -funktionen
decodeURI() Dekodiert eine URI
decodeURIComponent() Dekodiert eine URI-Komponente
encodeURI() Kodiert eine URI
encodeURIComponent() Kodiert eine URI-Komponente
eval() Bewertet eine Zeichenfolge und führt sie aus, als ob es sich um JavaScript-Code handelt
isFinite() Überprüft, ob ein Wert eine endliche und legale Zahl ist
isNaN() Überprüft, ob ein Wert eine illegale Zahl ist
JSON.parse() Analysiert eine JSON-Zeichenfolge und gibt ein JavaScript-Objekt zurück
JSON.stringify() Konvertiert ein JavaScript-Objekt in eine JSON-Zeichenfolge
Math Siehe die JavaScript-Mathematikseigenschaften und -funktionen
Number() Konvertiert den Wert eines Objekts in eine Zahl
parseFloat() Analysiert eine Zeichenfolge und gibt eine Fließkommazahl zurück
parseInt() Analysiert eine Zeichenfolge und gibt eine ganze Zahl zurück
String Siehe die JavaScript-Zeichenfolgen-Eigenschaften und -funktionen