Zum Inhalt springen

Allgemeine Funktionen in Jitterbit Studio

Allgemeine Funktionen umfassen Funktionen, die nicht spezifisch für eine bestimmte Interaktion sind, sondern in nahezu jedem Script angewendet werden können.

ArgumentList

Deklaration

null ArgumentList(type var1[,... ])

Syntax

ArgumentList(<var1>[,... ])

Erforderliche Parameter

  • var1: Eine lokale Variable, die aus der Argumentliste der aufrufenden Instanz initialisiert werden soll

Optionale Parameter

  • var2,... varN: Zusätzliche Variablen, die aus der Argumentliste der aufrufenden Instanz initialisiert werden sollen

Beschreibung

Diese Funktion initialisiert einen Satz lokaler Variablen aus ihrer Argumentliste.

Die Konstruktion der lokalen Variablen hängt davon ab, welcher dieser Fälle zutrifft:

  • Fall 1: Transformationszuordnungen Wenn der Funktionsaufruf in der Zuordnung eines Zielfelds erfolgt. (Ein Aufruf der Funktion SetInstances muss zuvor erfolgt sein.) Die lokalen Variablen werden aus den entsprechenden globalen Variablen in der Instanz konstruiert, die durch die Funktion SetInstances gegeben ist.
  • Fall 2: Script ausführen Wenn der Funktionsaufruf in einem Script erfolgt. Die lokalen Variablen werden aus den entsprechenden Argumenten in der Liste konstruiert, die durch die aufrufende RunScript-Anweisung bereitgestellt wird. Diese Variablen können auch nach Index adressiert werden, z. B. als _1, _2...

Diese Funktion gibt einen Nullwert zurück und kann ignoriert werden. Alternativ siehe die Funktion GetInstance.

Beispiele

Fall 1: Transformationszuordnungen
// Assuming a parent mapping contains these statements:
...
s = "SELECT key_name, key_value, key_type FROM key_values";
r = DBLookupAll("<TAG>endpoint:database/My Database</TAG>", s);
SetInstances("DETAILS", r);
...

// In the DETAILS target node, a field could
// have as a mapping:
<trans>
ArgumentList(key, value, type);
key + " = " + value + " (of type " + type + ")";
</trans>
Fall 2: Script ausführen
// This code fragment calls a script
// "CalculateDisplayString":
...
RunScript("<TAG>script:CalculateDisplayString</TAG>", "John", 35);
// The result will be the string
// "John is 35 years old."
...

// The script "CalculateDisplayString", using
// names:
<trans>
ArgumentList(name, age);
name + " is " + age + " years old.";
</trans>

// Same script "CalculateDisplayString",
// using indices:
<trans>
// ArgumentList: name, age
_1 + " is " + _2 + " years old.";
</trans>

AutoNumber

Deklaration

int AutoNumber()

Syntax

AutoNumber()

Beschreibung

Gibt die Nummer einer Instanz innerhalb einer bestimmten Hierarchie zurück.

Warnung

Diese Methode ist veraltet und kann in einer zukünftigen Version von Jitterbit entfernt werden. Verwenden Sie stattdessen entweder die Funktionen TargetInstanceCount oder SourceInstanceCount. Die Funktion TargetInstanceCount entspricht dieser Funktion.

Beispiele

Angenommen, eine Zielarchitektur hat zwei Datensätze auf der obersten Ebene: PO1 und PO2:

  • PO1 ist ein übergeordneter Datensatz von drei untergeordneten Datensätzen: PO1_record1, PO1_record2 und PO1_record3.
  • PO2 ist ein übergeordneter Datensatz von zwei untergeordneten Datensätzen: PO2_record1 und PO2_record2.

Wenn die Funktion AutoNumber() aufgerufen wird:

  • AutoNumber() auf der übergeordneten Ebene aufgerufen gibt 1 bei PO1 zurück und gibt 2 bei PO2 zurück.
  • AutoNumber() auf der untergeordneten Ebene von PO1 gibt 1 bei PO1_record1 zurück, gibt 2 bei PO1_record2 zurück und gibt 3 bei PO1_record3 zurück, da PO1 3 untergeordnete Datensätze hat.

CancelOperation

Deklaration

void CancelOperation(string operationInstanceGUID)

Syntax

CancelOperation(<operationInstanceGUID>)

Erforderliche Parameter

  • operationInstanceGUID: Der Stringreferenzpfad zur Operation im aktuellen Projekt, die abgebrochen werden soll

Beschreibung

Bricht eine bestimmte Operation ab, die durch den Referenzpfad der Operation angegeben ist. Weitere Informationen finden Sie in den Anweisungen zum Einfügen von Operationen im Abschnitt Operationen unter Jitterbit Script.

Wie im folgenden Beispiel gezeigt, rufen Sie die Funktion GetOperationQueue auf, um Instanzen laufender Operationen abzurufen. Die GUID der Operationsinstanz befindet sich am Index 4 der von der Funktion GetOperationQueue zurückgegebenen Sub-Arrays. Weitere Informationen finden Sie in der Funktion GetOperationQueue.

Beispiele

// Cancel all instances of a particular
// operation
opt = "<TAG>operation:My Operation</TAG>";
queue = GetOperationQueue(opt);
n = Length(queue);
i = 0;
message = "Canceling operation instance: ";
While(i < n, op_inst = queue[i][4];
  WriteToOperationLog(message + op_inst);
  CancelOperation(op_inst);
  i++;
);

CancelOperationChain

Deklaration

void CancelOperationChain(string message)

Syntax

CancelOperationChain(<message>)

Erforderliche Parameter

  • message: Bei einem Nicht-Leerstring wird die Meldung als Warnmeldung im Operationsprotokoll protokolliert.

Beschreibung

Wenn die aktuelle Operation Erfolgs- oder Fehleroperationen hat, wird der Aufruf dieser Methode dazu führen, dass diese Operationen abgebrochen werden. Alle über eine Bedingung verknüpften Operationen werden ebenfalls abgebrochen. Alle Skripte in der aktuellen Operation werden jedoch abgeschlossen.

Dies kann nützlich sein, wenn eine Operation in einer Schleife ausgeführt wird und die Bedingung zum Beenden der Schleife erreicht wurde.

Beispiele

CancelOperationChain("The success operation does not need to run.");

Eval

Deklaration

string Eval(type expToEvaluate, type defaultResult)

Syntax

Eval(<expToEvaluate>, <defaultResult>)

Erforderliche Parameter

  • expToEvaluate: Ein auszuwertender Ausdruck; bei Gültigkeit wird sein Ergebnis zurückgegeben
  • defaultResult: Standardergebnis, das ausgewertet und zurückgegeben wird, wenn expToEvaluate nicht gültig ist

Beschreibung

Wertet das erste Argument aus. Bei Gültigkeit wird sein Ergebnis als String zurückgegeben. Andernfalls wird der Standardwert ausgewertet und seine Ergebnisse als String zurückgegeben.

Dies kann als „Try-Catch"-Anweisung verwendet werden, da das zweite Argument nur ausgewertet wird, wenn das erste fehlschlägt.

Hinweis

Von der Verwendung dieser Funktion mit RunOperation wird nicht empfohlen, da sie immer ein gültiges Ergebnis nach Ausführung der Operation zurückgibt, sofern der Operationsaufruf selbst nicht fehlerhaft oder ungültig ist. Stattdessen können Funktionen wie If und GetLastError verwendet werden, um ähnliche Funktionalität zu erreichen. Weitere Informationen finden Sie im Abschnitt Scripting unter Harmony best practices.

Beispiele

// Returns a value of "100": the string
// representation of 4 multiplied by 25:
entry = Eval(4*25,"Bad Entry");

// Returns "Bad Entry", as strings cannot be
// multiplied:
book = "";
entry = Eval(book*36.4, "Bad Entry");

// Execute a SQL statement and terminate an operation if it fails:
results = Eval(
  DBLookup("<TAG>endpoint:database/My Database</TAG>",
    "SELECT col FROM table"),
  RaiseError("Failed to execute SQL statement: "
    + GetLastError())
);

Get

Deklaration

type Get(string name)

type Get(string name[, int index1, int index2,... int indexN])

type Get(array name[, int index1, int index2,... int indexN])

Syntax

Get(<name>[, <index1>, <index2>,... <indexN>])

Erforderliche Parameter

  • name: Der Name einer globalen Variable, entweder ein Skalar oder ein Array, oder ein Array

Optionale Parameter

  • index1,... indexN: Indizes, die das gewünschte Element im Array oder in einem Teilarray angeben

Beschreibung

Gibt den Wert einer globalen Variablen mit einem bestimmten Namen zurück. Bei Übergabe eines Arrays oder des Namens einer globalen Variablen, die ein Array ist, wird ein Element des Arrays zurückgegeben. Siehe auch die ergänzende Set-Funktion.

Wenn das erste Argument entweder ein Array oder der Name einer globalen Variablen ist, die ein Array ist, ruft die Funktion ein bestimmtes Element anhand seines Index (oder Indizes bei einem mehrdimensionalen Array wie einem Datensatz) mit den verbleibenden Argumenten ab.

Arrays sind nullindiziert: Das erste Element hat Index 0 und das letzte Element (des Arrays $array) hat Index [Length($array)-1].

Der Versuch, auf ein Element jenseits des Endes des Arrays zuzugreifen, führt zu einem Rückgabewert von null.

Beispiele

// Returns the value of the global variable "Count"
Get("Count");

// Returns the third element of an array (0-based)
Get($arr, 2);

// For arrays, this is the same as previous,
// as "arr" is equivalent to $arr in the case of arrays
Get("arr", 2);

// Returns the n-th element of the m-th array in $arr
Get($arr, m-1, n-1);

GetChunkDataElement

Deklaration

type GetChunkDataElement(string name)

Syntax

GetChunkDataElement(<name>)

Erforderliche Parameter

  • name: Der Name der Chunk-Variable

Beschreibung

Gibt den Wert der Chunk-Variable mit einem bestimmten Namen zurück. Eine Chunk-Variable wird ausgewertet, während jeder Datenblock verarbeitet wird. Eine alternative Methode ist die Verwendung der SCOPE_CHUNK-Syntax der Set-Funktion. Siehe auch die Funktionen SetChunkDataElement und Set.

Beispiele

// If used in a transformation mapping, this sets
// the value of the chunk variable "CustomerFileName" to
// the results of a calculation using the value of the "Customer" field
// at the time of the chunking to create a filename for that chunk:

SetChunkDataElement("CustomerFilename", "customer_" + CustomerID + ".csv");

// This global variable would be available as a variable in the
// filenames field of the connection parameters of a target as:

[CustomerFilename]

// It would also be available in scripts in the same chunk as:

GetChunkDataElement("CustomerFilename");

// With each chunk created, a unique filename for that customer ID
// will be created, such as (depending on the values of CustomerID):
customer_1009.csv
customer_2019.csv
customer_5498.csv


// Returns the value of a chunk variable
result = GetChunkDataElement("Count");

GetHostByIP

Deklaration

string GetHostByIP(string ipAddress)

Syntax

GetHostByIP(<ipAddress>)

Erforderliche Parameter

  • ipAddress: Eine Zeichenkette mit einer IP-Adresse

Beschreibung

Löst eine IP-Adresse in einen Hostnamen auf.

Beispiele

GetHostByIP("127.0.0.1");

GetInputString

Deklaration

string GetInputString(type arg)

Syntax

GetInputString(<arg>)

Erforderliche Parameter

  • arg: Eine globale Variable

Beschreibung

Gibt die unformatierte Eingabe als Zeichenkette für eine globale Variable der Quelle zurück.

Dies ist nützlich, wenn die standardmäßige Jitterbit-Darstellung eines Datentyps (wie ein Datum oder Double) nicht geeignet ist und die „rohe" Eingabe erforderlich ist. Wenn diese Methode auf ein Objekt aufgerufen wird, das keine globale Variable der Quelle ist, wird eine leere Zeichenkette zurückgegeben.

Beispiele

// The input is too large for a Jitterbit double
// return the raw input instead
$SessionId = GetInputString(root$transaction$body$GetMachineList$req$SessionID$)

GetLastOperationRunStartTime

Deklaration

date GetLastOperationRunStartTime(string operationId)

Syntax

GetLastOperationRunStartTime(<operationId>)

Erforderliche Parameter

  • operationId: Ein Zeichenkettenverweis auf eine Operation im aktuellen Projekt

Beschreibung

Gibt das letzte Datum und die letzte Uhrzeit zurück, zu der die angegebene Operation ausgeführt wurde. Der Rückgabewert ist ein Datum (das das Datum und die Uhrzeit umfasst). Nur mit einem einzelnen privaten Agent zu verwenden.

Die in diesem Funktionsaufruf verwendete Operation muss als eine Operation im aktuellen Projekt definiert sein. Weitere Informationen finden Sie in den Anweisungen zum Einfügen von Operationen im Abschnitt Operationen unter Jitterbit Script.

Das zurückgegebene Datum liegt in UTC vor (ohne eine bestimmte Zeitzone). Verwenden Sie die ConvertTimeZone-Funktion, um in eine lokale Zeit umzuwandeln, wie im folgenden Beispiel zu sehen ist.

Warnung

Diese Funktion darf nur mit einem einzelnen privaten Agent verwendet werden, da sie bei der Verwendung von Cloud-Agenten oder mehreren privaten Agenten nicht genau ist.

Beispiele

op = "<TAG>operation:MyOperation</TAG>";
lastOpRun = GetLastOperationRunStartTime(op);
// Converting to a local time zone
$lorInMyTimeZone = ConvertTimeZone(lastOpRun,
    "UTC", "CST");

GetName

Deklaration

string GetName(type arg)

Syntax

GetName(<arg>)

Erforderliche Parameter

  • arg: Eine Variable oder globale Variable

Beschreibung

Gibt den Namen einer Variablen oder einer globalen Variablen zurück.

Bestimmte Funktionen geben ein benanntes globales Variablen-Array zurück. Falls definiert, ruft diese Funktion den Namen des Werts ab.

Beispiele

x = {a="var1", b="var2"};
GetName(x[0]);
// Returns the string "a"
GetName(x)[0];
// Also returns the string "a"
// The source is a simple text and [] represents the source element
values = GetSourceInstanceArray([]);
// Returns the first field name of the source element
GetName(values[0]);

GetOperationQueue

Deklaration

array GetOperationQueue([string operationTag])

Syntax

GetOperationQueue([<operationTag>])

Optionale Parameter

  • operationTag: Ein String-Referenzpfad zu einer Operation im aktuellen Projekt; andernfalls werden alle Operationen im aktuellen Projekt verwendet

Beschreibung

Gibt den Inhalt der Operationswarteschlange als Array zurück. Es werden nur Operationen zurückgegeben, auf die der aktuelle Benutzer Lesezugriff hat. Kann nur mit einem einzelnen privaten Agent verwendet werden.

Das Ergebnis wird als Array von Arrays mit den folgenden Elementen in jedem Sub-Array zurückgegeben:

  • 0: Operation GUID (String)
  • 1: Das IsExecuting-Flag (boolescher Wert)
  • 2: Zeitstempel (Datum) für den Zeitpunkt, zu dem die Operation zur Warteschlange hinzugefügt wurde
  • 3: Sekunden im aktuellen Status (Integer)
  • 4: Operation-Instanz-GUID (String)
  • 5: Operationsname (String)

Das Argument für das Operation-Tag ist optional. Wenn das Argument für das Operation-Tag vorhanden ist, werden nur Warteschlangen-Einträge für diese bestimmte Operation zurückgegeben. Weitere Informationen finden Sie in den Anweisungen zum Einfügen von Operationen im Abschnitt Operations in Jitterbit Script.

Warnung

Diese Funktion darf nur mit einem einzelnen privaten Agent verwendet werden, da sie bei Verwendung von Cloud-Agents oder mehreren privaten Agents nicht korrekt funktioniert.

Beispiele

// Write the queue for a particular operation to
// the operation log:
op = "<TAG>operation:MyOperation</TAG>";
queue = GetOperationQueue(op);
n = Length(queue);
i = 0;
// Loop over the queue entries
While(i < n,
  WriteToOperationLog("Queue Entry: "
    + "GUID=" + queue[i][0]
    + "; IsExecuting=" + queue[i][1]
    + "; Added at: " + queue[i][2]);
  i++;
);

GetServerName

Deklaration

string GetServerName()

Syntax

GetServerName()

Beschreibung

Gibt den Namen des Computers zurück, auf dem der Agent ausgeführt wird.

Beispiele

GetServerName();
// Returns the server name

GUID

Deklaration

string GUID()

Syntax

GUID()

Beschreibung

Gibt eine GUID-Zeichenkette zurück (eine global eindeutige Kennung, auch als universally unique identifier oder UUID bekannt).

Das Format der GUID lautet xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx, wobei M die Version (4) und N die Variante (8) ist.

Beispiele

GUID();
// Returns a string such as "c056f89d-1f45-458e-8b25-9ecf2ed10842"

IfEmpty

Deklaration

type IfEmpty(type arg, type default)

Syntax

IfEmpty(<arg>, <default>)

Erforderliche Parameter

  • arg: Ein Argument, das bewertet wird, um zu prüfen, ob es null oder eine leere Zeichenkette ist
  • default: Standardwert, der zurückgegeben wird, wenn arg null oder eine leere Zeichenkette ist

Beschreibung

Gibt den Standardwert zurück, wenn das erste Argument null ist oder die Zeichenkettendarstellung des Arguments eine leere Zeichenkette ist. Andernfalls wird das erste Argument zurückgegeben. Dies ist eine Abkürzung für eine If-Funktionsanweisung:

If(IsNull(arg)| |Length(arg)==0, default, arg)

Siehe auch die Funktion IsNull.

Beispiele

// If the variable "myDate" is null or empty,
// returns the current date, otherwise returns "myDate"
result = IfEmpty(myDate, Now());

IfNull

Deklaration

type IfNull(type arg, type default)

Syntax

IfNull(<arg>, <default>)

Erforderliche Parameter

  • arg: Ein Argument, das ausgewertet wird, um zu überprüfen, ob es null ist
  • default: Standardwert, der zurückgegeben wird, wenn arg null ist

Beschreibung

Gibt den Standardwert zurück, wenn das erste Argument null ist, sonst gibt es das erste Argument zurück.

Dies ist eine Kurzform für eine If-Funktionsanweisung:

If(IsNull(arg), default, arg)

Siehe auch die Funktionen IsNull und IfEmpty.

Hinweis

Wenn jitterbit.target.xml.include_nil_attribute upstream der Funktionen IfNull oder IsNull auf true gesetzt ist, werten die Funktionen einen leeren String bei Verwendung von Agent-Versionen 11.43 oder später als einen Non-Null-Wert aus.

Beispiele

// If the variable "myDate" is null,
// returns the current date, otherwise returns "myDate"
result = IfNull(myDate, Now());

InitCounter

Deklaration

long InitCounter(type counter[, long initialValue])

Syntax

InitCounter(<counter>, <initialValue>)

Erforderliche Parameter

  • counter: Der Name einer Variablen oder eine Referenz zu einer globalen Variablen, die als Counter verwendet wird

Optionale Parameter

  • initialValue: Der Anfangswert für den Counter; Standard ist 0

Beschreibung

Initialisiert einen Counter und übergibt optional einen Anfangswert. Wird nur mit einem einzelnen Agent verwendet.

Wenn kein Anfangswert gesetzt ist, wird der Anfangswert auf 0 gesetzt. Das erste Argument ist entweder der Name einer Variablen oder eine Referenz zu einer Variablen (siehe Beispiele). Diese Methode muss nur in Single-Thread-Kontexten aufgerufen werden. Der Aufruf dieser Methode in einem Multi-Thread-Kontext führt zu einem Fehler. Siehe auch Variablen mit Chunking verwenden unter Operationsoptionen.

Warnung

Diese Funktion darf nur mit einem einzelnen Agent verwendet werden, da sie in einem Multi-Agent-Kontext zu einem Fehler führt.

Beispiele

// Initialize counter to 0 using the name of a global variable
InitCounter("counter");

// Initialize counter to 100 using a reference to a global variable
InitCounter($counter, 100);

InList

Deklaration

int InList(type x[, type arg1, ... type argN])

Unterstützte Datentypen für type

int, float, long, double, string, bool, date, binary, collection, map

Syntax

InList(<x>[, <arg1>, ... <argN>])

Erforderliche Parameter

  • x: Ein Element, das auf eine Übereinstimmung überprüft wird

Optionale Parameter

  • arg1...argN: Eine Reihe von Argumenten, mit denen x verglichen wird

Beschreibung

Überprüft x in der Liste der Argumente (arg1 bis argN). Wenn eine Übereinstimmung (nach Wert) gefunden wird, gibt diese Funktion eine ganze Zahl zurück, die die Position der Übereinstimmung in der Liste darstellt, wobei die erste Position in der Liste durch die ganze Zahl 1 dargestellt wird.

Wenn die Liste mehr als eine Instanz von x enthält, gibt diese Funktion die Position der ersten Übereinstimmung zurück (die Übereinstimmung mit dem niedrigsten Positionsindex). 0 wird zurückgegeben, wenn die Liste keinen entsprechenden Wert enthält oder wenn nur ein einzelnes Argument angegeben wird.

Wichtig

Die InList-Funktion unterstützt mehrere Datentypen, indem sie diese vor der Auswertung implizit in Zeichenketten konvertiert. Beispiele:

  • 123 und "123" sind gleich.
  • 4.5 und "4.5" sind gleich.
  • true und "1" sind gleich.
  • false und "0" sind gleich.
  • Date("7/15/2025") und "2025-07-15" sind gleich.

Beispiele

InList("x","a","b","c","x");
// Returns 4

InList("a","a","b","c","a");
// Returns 1

InList("x","a","b","c");
// Returns 0

InList("x");
// Returns 0

InList("1", 123, "12", true);
// Returns 3 due to implicit conversion

IsInteger

Deklaration

bool IsInteger(type x)

Syntax

IsInteger(<x>)

Erforderliche Parameter

  • x: Ein Element, das ausgewertet werden soll

Beschreibung

Gibt „true" zurück, wenn das Argument vom Typ „Integer" oder „Long" ist oder ohne Informationsverlust in einen Integer oder Long konvertiert werden kann.

Beispiele

$s="1";
IsInteger($s);
// Returns true
$s="1a";
IsInteger($s);
// Returns false
$s=12.12;
IsInteger($s);
// Returns false
$s=12.00;
IsInteger($s);
// Returns true

IsNull

Deklaration

bool IsNull(type x)

Syntax

IsNull(<x>)

Erforderliche Parameter

  • x: Ein Element, das ausgewertet werden soll

Beschreibung

Gibt „true" zurück, wenn das Argument null ist. Gilt für Datenbankfelder, Variablen und Funktionen, die null-Werte zurückgeben können.

Siehe auch die Funktionen IfNull und IfEmpty als Alternativen zu dieser Funktion.

Zur Fehlerbehebung siehe IsNull gibt „false" für leere Zeichenketten aus JSON-Quelldaten zurück im Leitfaden zur Fehlerbehebung bei Operationen.

Hinweis

Wenn jitterbit.target.xml.include_nil_attribute upstream der Funktionen IfNull oder IsNull auf true gesetzt ist, werten diese Funktionen eine leere Zeichenkette als Nicht-null-Wert aus, wenn Agent-Versionen 11.43 oder später verwendet werden.

Beispiele

// Falls „POHeader.Vendor_Code" null ist,
// wird eine Zeichenkette „VC" zurückgegeben, ansonsten der Code
If(IsNull(POHeader.Vendor_Code), POHeader.Vendor_Code, "VC")

IsValid

Deklaration

bool IsValid(type x)

Syntax

IsValid(<x>)

Erforderliche Parameter

  • x: Ein Element, das ausgewertet werden soll

Beschreibung

Gibt „true" zurück, wenn die Auswertung des Arguments ohne Fehler erfolgt.

Beispiele

IsValid(Date("abc"))
// Returns false, since the string "abc"
// cannot be successfully converted to a date

IsValid(3/0)
// Returns false, since division by 0
// is not permitted

IsValid(0/3)
// Returns true, since 0/3 is a legal expression
// evaluating to 0

Length

Deklaration

int Length(type x)

Syntax

Length(<x>)

Erforderliche Parameter

  • x: Ein Element, das ausgewertet werden soll

Beschreibung

Gibt die Länge des Eingabearguments zurück.

Das Verhalten dieser Methode hängt vom Argumenttyp ab:

  • Zeichenkette: Die Länge der Zeichenkette wird zurückgegeben
  • Array: Die Anzahl der Elemente im Array wird zurückgegeben
  • Binärdaten: Die Anzahl der Bytes wird zurückgegeben
  • Für alle anderen Typen wird versucht, das Argument in eine Zeichenkette zu konvertieren, und die Länge der resultierenden Zeichenkette wird zurückgegeben.
  • Falls das Argument nicht in eine Zeichenkette konvertiert werden kann oder das Argument null oder vom Typ „unknown" ist, wird 0 zurückgegeben.

Beispiele

// String length:
Length("Mississippi"); // returns 11

// Array length:
// Count the number of email address nodes
$nodes = SelectNodesFromXMLAny("cust:EmailAddress", Customer$Any#.,
"cust=urn:xmlns:25hoursaday-com:customer");
Length($nodes);

// Binary arguments:
Length(HexToBinary("b2082fee"));
// Returns 4, because the input is a 4-byte binary value

// Numeric arguments:
Length(1234567); // Returns 7
Length(123.45678); // Returns 9

// Miscellaneous:
Length(true); // Returns 1
Length(Now()); // Returns 19 since the default date format is "yyyy-MM-DD hh:mm:ss"
Length(Null()); // Returns 0

Null

Deklaration

null Null()

Syntax

Null()

Beschreibung

Gibt null zurück.

Beispiele

Diese Funktion kann verwendet werden, um einen Null-Wert in bestimmte Spalten einer Datenbank einzufügen.

Random

Deklaration

int Random(int min, int max)

Syntax

Random(<min>, <max>)

Erforderliche Parameter

  • min: Integerwert der Mindestanzahl Zufallszahl
  • max: Integerwert der maximalen Zufallszahl

Beschreibung

Generiert eine zufällige Ganzzahl zwischen den angegebenen Mindest- und Maximalwerten, einschließlich. Siehe auch die Funktion RandomString.

Beispiele

// Creates a random number from 0 to 9999999 (inclusive)
Random(0, 9999999);


// Creates a random number from 1 to 10
Random(1, 10);
// Returns a random 7-character string
// using the characters "0123456789"
RandomString(7, "0123456789");

// Returns a random 5-digit hexadecimal string
RandomString(5, "0123456789ABCDEF");

// Returns a random 7-digit integer string
// with no leading zeroes
RandomString(1, "123456789") +
  RandomString(6, "0123456789");

RandomString

Deklaration

string RandomString(int len[, string chars])

Syntax

RandomString(<len>[, <chars>])

Erforderliche Parameter

  • len: Länge der resultierenden Zufallszeichenkette

Optionale Parameter

  • chars: Zeichenkette mit Zeichen, die in der resultierenden Zufallszeichenkette verwendet werden

Beschreibung

Generiert eine zufällige Zeichenkette mit der angegebenen Länge. Standardmäßig verwendet die Funktion alphanumerische Zeichen. Dies ist der Zeichensatz, der a–z, A–Z und 0–9 enthält. Siehe auch die Funktion Random.

Beispiele

// Creates a random 5-digit hexadecimal string
RandomString(5, "0123456789ABCDEF");

// Creates a random 7-digit integer string
// with no leading zeroes
RandomString(1, "123456789") + RandomString(6, "0123456789");

ReadArrayString

Deklaration

array ReadArrayString(string arrayString[, string type])

Syntax

ReadArrayString(<arrayString>[, <type>])

Erforderliche Parameter

  • arrayString: Eine Stringdarstellung eines Arrays

Optionale Parameter

  • type: Ein String, der den Typ beschreibt, den der Array-String darstellt, z. B. "string", "int", "double", "bool"

Beschreibung

Liest einen String, der ein eindimensionales oder mehrdimensionales Array darstellt.

Das Array wird dargestellt, indem Array-Elemente mit einem Paar geschweifte Klammern ('{' und '}') eingeschlossen werden. Jedes Array-Element kann ein Array oder ein durch Komma (',') getrenntes Skalarelement sein. Die Elemente in einem Array müssen entweder alle Skalare oder alle Arrays sein.

Der Skalarwert kann durch einen CSV-String dargestellt werden. Doppelte Anführungszeichen zum Einschließen des Strings sind optional, es sei denn, der String enthält Sonderzeichen wie ",{}\n (doppelte Anführungszeichen, Komma, geschweifte Klammern, Tabulatoren, Zeilenumbrüche oder Wagenrücklauf). Innerhalb des in doppelte Anführungszeichen gesetzten Strings muss jedes doppelte Anführungszeichen durch zwei doppelte Anführungszeichen maskiert werden. Das optionale zweite Argument dient zur Angabe des Datentyps des Skalarwerts. Der Typ wird als String angenommen, wenn er nicht explizit angegeben ist.

Beispiele

// One-dimensional array with four string values
ReadArrayString("{John,Steve,Dave,Eric}");

// One-dimensional array with three boolean values
ReadArrayString("{1,0,1}", "bool");

// Two-dimensional array
// The first array element is an array with three string values
// The second array element is an array with two string values
// The second element of the second array contains a trailing line break
ReadArrayString('{{abc,"a,b","a""b"},{"de","d
"}}');

RecordCount

Deklaration

int RecordCount()

Syntax

RecordCount()

Beschreibung

Gibt die Instanznummer der Zielschleife zurück, die derzeit generiert wird.

Bei einem Aufruf in einer Bedingung wird die Instanznummer der zuletzt generierten Instanz zurückgegeben. Beim ersten Aufruf dieser Methode in einer Schleife wird 0 (Null) zurückgegeben, wenn die Methode in einer Bedingung aufgerufen wird; andernfalls wird 1 (Eins) zurückgegeben. Der Zähler wird jedes Mal auf 0 zurückgesetzt, wenn eine neue Schleife gestartet wird.

Hinweis

Diese Methode wurde veraltet und kann in einer zukünftigen Version entfernt werden.

Verwenden Sie stattdessen SourceInstanceCount oder TargetInstanceCount. TargetInstanceCount ist äquivalent zu dieser Methode.

Beispiele

RecordCount() gibt einen Wert von 5 zurück, während die fünfte Zeile in einem Zielschleifenknoten generiert wird.

ReRunOperation

Deklaration

bool ReRunOperation([bool runSynchronously])

Syntax

ReRunOperation([<runSynchronously>])

Optionale Parameter

  • runSynchronously: Flag zur Angabe, ob der Vorgang synchron (Standard) oder asynchron ausgeführt werden soll

Beschreibung

Führt den aktuellen Vorgang erneut aus.

Das Verhalten dieser Methode in Bezug auf Rückgabewert und globale Variablen ist identisch mit der RunOperation-Funktion. Weitere Informationen dazu, wie sich die synchrone oder asynchrone Wiederausführung des Vorgangs auf globale Variablen auswirkt, finden Sie in dieser Funktion.

Hinweis

Diese Funktion unterliegt auch der gleichen Limit auf Agentebene für synchrone Aufrufe aus einer einzelnen While-Schleife und teilt die kumulative Anzahl mit RunOperation. Weitere Details finden Sie im Hinweis unter RunOperation.

Warnung

Da es sich um einen rekursiven Aufruf handelt, ist es wichtig, dass es eine Stoppbedingung gibt, die höchstwahrscheinlich die CancelOperation-Funktion enthält. Andernfalls entsteht eine endlose Schleife von Vorgangsaufrufen.

Beispiele

ReRunOperation();
// Re-runs the current operation synchronously
ReRunOperation(false);
// Re-runs the current operation asynchronously

RunOperation

Deklaration

bool RunOperation(string operationId[, bool runSynchronously])

Syntax

RunOperation(<operationId>[, <runSynchronously>])

Erforderliche Parameter

  • operationId: Ein Zeichenkettenreferenzpfad zu einem Vorgang im aktuellen Projekt

Optionale Parameter

  • runSynchronously: Flag zur Angabe, ob der Vorgang synchron (Standard) oder asynchron ausgeführt werden soll

Beschreibung

Ruft einen Vorgang synchron oder asynchron auf, wobei synchron der Standard ist.

Der in diesem Funktionsaufruf verwendete Vorgang muss im aktuellen Projekt als Vorgang definiert sein. Weitere Informationen finden Sie in den Anweisungen zum Einfügen von Vorgängen im Abschnitt Vorgänge in Jitterbit Script.

Tipp

Wenn Sie einen Vorgang ausführen müssen, der in einem anderen Projekt vorhanden ist, können Sie ihn als API Manager API freigeben und dann aus dem aktuellen Projekt aufrufen. Alternativ können Sie selektiven Import verwenden, um den Vorgang in das aktuelle Projekt zu importieren.

Synchronität

Wenn run_synchronously den Wert true hat, wird der aufgerufene (untergeordnete) Vorgang oder die Vorgangskette sequenziell vom Aufrufer (übergeordneter) Vorgang ausgeführt. Alle globalen Variablen werden vom untergeordneten Vorgang geerbt und alle Änderungen an den globalen Variablen spiegeln sich im übergeordneten Vorgang wider. Dies ist das Standardverhalten, wenn das zweite Argument nicht angegeben wird. Gibt false zurück, wenn der aufgerufene Vorgang zu einem Fehler führte.

Wenn run_synchronously den Wert false hat, wird der aufgerufene (untergeordnete) Vorgang oder die Vorgangskette gleichzeitig mit dem Aufrufer (übergeordneter) Vorgang ausgeführt. Der aufgerufene Vorgang wird der Jitterbit-Verarbeitungswarteschlange hinzugefügt, um verarbeitet zu werden, nachdem alle Vorgänge vor ihm verarbeitet wurden. Alle globalen Variablen werden vom untergeordneten Vorgang geerbt, Änderungen an diesen Variablen spiegeln sich jedoch nicht im übergeordneten Vorgang wider. Der übergeordnete Vorgang wird unabhängig vom untergeordneten Vorgang weiter ausgeführt, und es gibt keine Garantie dafür, welcher Vorgang zuerst beendet wird. Gibt false zurück, wenn der untergeordnete Vorgang nicht in die Warteschlange eingefügt werden konnte. Im asynchronen Modus werden diese globalen Variablen per Wert statt per Referenz an den aufgerufenen Vorgang übergeben, um sicherzustellen, dass Änderungen an den Variablen sich nicht in anderen Vorgängen widerspiegeln.

Weitere Informationen findest du unter Synchronität wie für das Invoke Operation-Tool beschrieben.

Hinweis

Operationen, die mit dieser Funktion aufgerufen werden, sind verkettet und werden auf demselben Agent wie die aufrufende Operation ausgeführt, unabhängig von der Synchronität.

Wenn die Funktion false zurückgibt, um einen Fehler anzuzeigen, oder wenn die aufgerufene Operation nicht in die Warteschlange eingereiht werden konnte, rufe GetLastError auf, um die Fehlermeldung abzurufen.

Hinweis

Ein Limit auf Agent-Ebene beschränkt auch die Anzahl der synchronen RunOperation-Aufrufe, die innerhalb einer einzelnen While-Schleife erfolgen (50 standardmäßig). Dies unterscheidet sich von MaxOperationStackDepth, das verschachtelte synchrone Operationsaufrufe begrenzt, anstatt wiederholte Aufrufe innerhalb einer Schleife. RunOperation und ReRunOperation teilen sich pro Schleife einen einzelnen kumulativen Zähler. Das Aufrufen einer der beiden Funktionen synchron innerhalb derselben Schleife zählt daher zum gleichen Limit. Wenn das Limit erreicht ist, gibt RunOperation false zurück und die aufrufende Operation wird weiter ausgeführt. Das Operationsprotokoll erfasst auch einen Eintrag, der die aufgerufene Operation anhand des Namens identifiziert (bei Bedarf auf ihre GUID zurückgreifend), wenn das Limit erreicht wurde, und GetLastError gibt die gleiche Identifizierungsinformation zurück. Auf privaten Agents kannst du das Limit und ob eine Operation es überschreiben kann, im Abschnitt [OperationEngine] der Datei jitterbit.conf konfigurieren.

Beispiele

// Führt "MyOp" aus
RunOperation("<TAG>operation:MyOp</TAG>");

In der Praxis

RunPlugin

Deklaration

bool RunPlugin(string pluginId)

Syntax

RunPlugin(<pluginId>)

Erforderliche Parameter

  • pluginId: Ein String-Referenzpfad zu einem Plugin im aktuellen Projekt

Beschreibung

Führt ein angegebenes Plugin aus und setzt dann die Ausführung des aktuellen Skripts fort. Wenn mehrere Versionen eines Plugins auf einem Agent installiert sind, wird die höchste verfügbare Version verwendet.

In der Studio-Benutzeroberfläche werden nur die Plugins angezeigt, die in einem Skript ausgeführt werden können. Plugins, die auf Aktivitäten ausgeführt werden, sind ausgeblendet. Weitere Informationen findest du in den Anweisungen zum Einfügen von Plugins im Abschnitt Plugins in Jitterbit Script.

Gibt true zurück, wenn das Plugin ohne Fehler abgeschlossen wird. Gibt false zurück, wenn das Plugin nicht ausgeführt werden konnte oder die Plugin-Implementierung selbst einen Fehler zurückgegeben hat. Rufe GetLastError auf, um die Fehlermeldung abzurufen.

Beispiele

// Führt das Jitterbit HMACSHA1Generator-Plugin aus
RunPlugin("<TAG>plugin:http://www.jitterbit.com/plugins/pipeline/user/HMACSHA1Generator</TAG>");

RunScript

Deklaration

string RunScript(string scriptId[, type var1, type var2, ..., type varN])

Syntax

RunScript(<scriptId>[, <var1>, <var2>, ..., <varN>])

Erforderliche Parameter

  • scriptId: Ein String-Referenzpfad zu einem Skript im aktuellen Projekt

Optionale Parameter

  • var1...varN: Zusätzliche Variablen, die an das aufgerufene Skript übergeben werden

Beschreibung

Führt das angegebene Skript aus und setzt dann die Ausführung des aktuellen Skripts fort. Diese Methode gibt bei erfolgreicher Ausführung den Rückgabewert des aufgerufenen Skripts als String zurück.

Das in diesem Funktionsaufruf verwendete Skript muss im aktuellen Projekt als Jitterbit Script oder JavaScript definiert sein. Weitere Informationen finden Sie in den Anweisungen zum Einfügen von Skripten unter Jitterbit Script oder JavaScript.

Eine Liste von Werten kann als Eingabevariablen an eine RunScript-Funktion übergeben werden. Das Skript erstellt lokale Variablen mit diesen Werten unter Verwendung von Standardnamen wie _1, _2 ....

Wenn aussagekräftigere Namen bevorzugt werden, kann die ArgumentList-Funktion verwendet werden, um eine Liste lokaler Variablennamen den Variablen _1, _2 ... zuzuordnen. Beispiele finden Sie in der ArgumentList-Funktion.

Warnung

Der Rückgabetyp ist ein string. Alle anderen Typen werden in ihr String-Äquivalent konvertiert. Null-Werte werden als leerer string zurückgegeben. Arrays werden als string zurückgegeben. Wenn sie Skalarwerte enthalten, können diese mithilfe der ReadArrayString-Funktion in ein Array konvertiert werden. (Ein mehrdimensionales Array kann ebenfalls durch ReadArrayString konvertiert werden.)

Warnung

Wenn das aufgerufene Skript ein JavaScript-Skript ist, werden ihm keine Argumente übergeben. Alle Argumente, die im Aufruf der RunScript-Funktion enthalten sind, werden im JavaScript-Skript nicht deklariert oder verfügbar gemacht. Die einzige Methode zum Übergeben von Informationen an ein JavaScript-Skript ist die Verwendung globaler Variablen – das sind Variablen, denen ein $-Symbol vorangestellt ist. Diese Werte können mithilfe der Jitterbit.GetVar-Funktion im JavaScript-Skript verfügbar gemacht werden.

Hinweis

Das Aufrufen von Unmap innerhalb eines durch RunScript aufgerufenen Skripts hat keine Auswirkung auf die Zuordnung des Aufruferfeldes, da RunScript das Ergebnis des aufgerufenen Skripts als String zurückgibt, anstatt das Unmap-Signal weiterzugeben. Rufen Sie Unmap stattdessen direkt im eigenen Zuordnungsausdruck des Zielfeldes auf.

Beispiele

// Runs the script "CalculateStuff"
RunScript("<TAG>script:CalculateStuff</TAG>");

RunScript("<TAG>script:CalculateStuff</TAG>",
   "abc", 1);

// Sends the script "CalculateStuff" the
// string "abc" and the number 1
// Inside "CalculateStuff", these will be
// available as _1 and _2

Set

Deklaration

type Set(string name, type value)

type Set(string name, type value, int index1[, int index2, ..., int indexN])

type Set(array name, type value, int index1[, int index2, ..., int indexN])

Syntax

Set(<name>, <value>[, <index1>, <index2>, ..., <indexN>])

Erforderliche Parameter

  • name: Der Name einer globalen Variablen, entweder ein Skalar oder ein Array
  • value: Ein Wert, der der globalen Variablen zugewiesen werden soll

Optionale Parameter

  • index1...indexN: Index oder Indizes, die die Position eines Elements beim Festlegen eines Elements in einem Array beschreiben

Beschreibung

Setzt den Wert einer globalen Variablen mit einem bestimmten Namen auf einen Wert und gibt diesen Wert zurück. Siehe auch die komplementäre Get-Funktion.

Erste Form: Skalare

In der ersten Form wird eine String-Bezeichnung einer globalen Variablen mithilfe des angegebenen Namens und Wertes festgelegt.

(Obwohl eine lokale Variable als Referenz übergeben werden kann, wird dies nicht empfohlen, da die Ergebnisse inkonsistent sein können. Lokale Variablen sollten nicht auf diese Weise festgelegt werden.)

Siehe die Beispiele unten.

Zweite und dritte Form: Arrays

In der zweiten und dritten Form stellen zusätzliche Argumente die Indizes zum Festlegen eines Elements in einem Array bereit.

Wenn das erste Argument ein Array ist (oder der Name einer globalen Variablen, die ein Array ist), können Sie den Wert eines Array-Elements festlegen, indem Sie seinen Index (oder Indizes für mehrdimensionale Arrays) als zusätzliche Argumente angeben.

Um Daten an ein Array anzufügen, übergeben Sie entweder einen negativen Indexwert oder die Größe des Arrays. Die Größe lässt sich mithilfe der Funktion Length als Length($array) bestimmen.

Arrays sind nullindiziert; das erste Element hat Index 0 und das letzte Element (des Arrays $array) hat Index [Length($array)-1]. Arrays können mit den Funktionen Array oder ReadArrayString erstellt werden.

Der Versuch, ein Element über das Ende des Arrays hinaus festzulegen, führt dazu, dass zusätzliche Elemente mit Nullwerten zum Array hinzugefügt werden, um das Array auf die richtige Größe aufzufüllen.

Syntax des Präfix SCOPE_CHUNK

Das Festlegen eines Variablennamens mit dem Präfix SCOPE_CHUNK erstellt eine globale Variable, die bei der Verarbeitung jedes Datenblocks ausgewertet wird. Dies kann bei der Erstellung von globalen Variablen verwendet werden, deren Wert für einen bestimmten Block eindeutig ist. Diese Variable kann dann diesen Block identifizieren, wenn eine Datei oder ein Datensatz am Ziel erstellt wird. Siehe auch die Funktionen GetChunkDataElement und SetChunkDataElement als alternative Methode, mit der andere Variablennamen verwendet werden können.

Weitere Beispiele zur Verwendung von SCOPE_CHUNK beim Aufteilen von flachen CSV-Daten oder hierarchischen JSON-Daten finden Sie unter Eine Datei in einzelne Datensätze aufteilen.

Warnung

Die Syntax des Präfix SCOPE_CHUNK wird in Vorgängen mit einer Transformation, die bedingte Logik verwendet, nicht unterstützt.

Beispiele

// Scalars:
// All of these forms are equivalent:
// they increase the global variable "count" by 1
result1 = Set("count", Get("count")+1);
$count++;
$count = $count + 1;

// Arrays:
// Appending a value to the array "arr"
// These are equivalent
Set($arr, "value", -1);
Set($arr, "value", Length($arr));

// Set the n:th entry in an array "arr"
// to the string "value"
Set($arr, "value", n-1);

// Set the n:th entry of the m:th array
// of "record_set"
Set($record_set, "value", m-1, n-1);

// SCOPE_CHUNK Prefix:
// Example from a mapping using the SCOPE_CHUNK syntax to
// create a global variable that is unique in value to a
// particular chunk.
// It uses the field "CustomerID" to identify the chunk:

Set("SCOPE_CHUNK_CustomerID",
    "customer_"+CustomerID+".csv");

// This variable will be available in the filenames field of
// the connection parameters of a target as:

[SCOPE_CHUNK_CustomerID]

// With each chunk created, a unique filename for that
// customer ID will be created, such as (depending on the
// values of Customer ID):
customer_1009.csv
customer_2019.csv
customer_5498.csv

SetChunkDataElement

Deklaration

type SetChunkDataElement(string name, type value)

Syntax

SetChunkDataElement(<name>, <value>)

Erforderliche Parameter

  • name: Der Name der Block-Variablen
  • value: Der Wert, auf den die Block-Variable gesetzt wird

Beschreibung

Legt den Wert einer angegebenen Block-Variablen fest und gibt den Wert zurück. Eine Block-Variable wird bei der Verarbeitung jedes Datenblocks ausgewertet. Eine alternative Methode ist die Verwendung der Syntax SCOPE_CHUNK der Funktion Set.

Siehe auch die Funktionen GetChunkDataElement und Set.

Beispiele

// If used in a transformation mapping, this sets
// the value of the chunk variable "CustomerFileName"
// to the results of a calculation using the value of
// the "Customer" field at the time of the chunking
// to create a filename for that chunk:

SetChunkDataElement("CustomerFilename",
    "customer_"+CustomerID+".csv");

// This global variable would be available as a
// variable in the filenames field of the connection
// parameters of a target as:

[CustomerFilename]

// It would also be available in scripts in the same
// chunk as:

GetChunkDataElement("CustomerFilename");

// With each chunk created, a unique filename for that
// customer ID will be created, such as (depending on
// the values of Customer ID):
customer_1009.csv
customer_2019.csv
customer_5498.csv

Sleep

Deklaration

void Sleep(int seconds)

Syntax

Sleep(<seconds>)

Erforderliche Parameter

  • seconds: Die Anzahl der Sekunden als Ganzzahl, für die der aktuelle Vorgang unterbrochen wird

Beschreibung

Hält die Ausführung für eine angegebene Anzahl von Sekunden an.

Beispiele

// Hält den aktuellen Vorgang für 1 Minute an
Sleep(60);

SourceInstanceCount

Deklaration

int SourceInstanceCount()

Syntax

SourceInstanceCount()

Beschreibung

Gibt die Instanzanzahl des zuletzt verwendeten Generators zurück.

Der Wert hängt nicht davon ab, ob die Zielinstanz generiert wurde oder nicht; derselbe Wert wird zurückgegeben, wenn die Funktion in einem Bedingungsskript oder einem Mapping-Skript aufgerufen wird.

Wenn die erste Quellinstanz als Generator verwendet wird, wird 1 zurückgegeben, dann 2 und so weiter.

Siehe auch die Funktion TargetInstanceCount.

Ein zusätzliches Beispiel zur Verwendung von SourceInstanceCount finden Sie unter Eine Datei in einzelne Datensätze mit SourceInstanceCount aufteilen.

Beispiele

// Returns the instance count of the most recent generator
currentSourceInstance = SourceInstanceCount();

TargetInstanceCount

Deklaration

int TargetInstanceCount()

Syntax

TargetInstanceCount()

Beschreibung

Gibt die Instanzanzahl eines generierenden Zielschleifenknotens zurück.

Bei Aufruf in einer Bedingung gibt diese Funktion die Anzahl der Zielinstanzen zurück, die bisher für den aktuellen Schleifenknoten generiert wurden. Die von dieser Methode zurückgegebene Zahl ist um eins niedriger, wenn sie in einer Bedingung aufgerufen wird, da in einer Bedingung nicht bekannt ist, ob die aktuelle Zielinstanz generiert wird oder nicht.

Wenn die erste Zielinstanz generiert wird, wird 1 zurückgegeben, dann 2 usw. Bei Aufruf in einer Bedingung ist die Abfolge stattdessen 0, 1 usw.

Siehe auch die Funktion SourceInstanceCount.

Beispiele

// Returns the instance count of the most recent target generator
currentTargetInstance = TargetInstanceCount();

WaitForOperation

Deklaration

void WaitForOperation(string operationId[, int timeOutSec, int pollIntervalSec])

Syntax

WaitForOperation(<operationId>[, <timeOutSec>, <pollIntervalSec>])

Erforderliche Parameter

  • operationID: Ein String-Verweis auf eine Operation im aktuellen Projekt

Optionale Parameter

  • timeOutSec: Eine lokale Variable
  • pollIntervalSec: Eine lokale Variable

Beschreibung

Stoppt die Ausführung eines Skripts oder einer Zuordnung, bis alle Instanzen der angegebenen Operation, die sich derzeit in der Betriebswarteschlange befinden, ihre Verarbeitung beendet haben. Diese Methode ist hilfreich, wenn Sie viele Instanzen einer Operation zur parallelen Verarbeitung zur Warteschlange hinzufügen und dann auf deren Abschluss warten möchten.

Die in diesem Funktionsaufruf verwendete Operation muss als Operation im aktuellen Projekt definiert sein. Weitere Informationen finden Sie in den Anweisungen zum Einfügen von Operationen im Abschnitt Operationen unter Jitterbit Script.

Hinweis:

  • Für jede Operation (identifiziert durch ihre operationID), auf die gewartet werden soll, muss ein Aufruf dieser Methode erfolgen.
  • Operationsinstanzen, die nach diesem Aufruf hinzugefügt werden (durch Aufrufe der Funktion RunOperation), werden nicht abgewartet.
  • Der aktuelle Benutzer muss Lesezugriff auf die Operation haben, auf die gewartet wird.

Das zweite (optionale) Argument ist das Timeout in Sekunden. Das Standard-Timeout beträgt 1 Stunde (3600 Sekunden). Wenn alle Operationen nicht innerhalb dieser Zeit beendet sind, wird ein Fehler ausgelöst. Wenn Sie erwarten, dass Ihre Operationen unter normalen Bedingungen länger laufen, müssen Sie das Timeout erhöhen. Sie können diesen Fehler mithilfe der Funktion Eval behandeln.

Das dritte (optionale) Argument ist das Abfrageintervall in Sekunden. Das Abfrageintervall ist die Zeit zwischen den Überprüfungen der Betriebswarteschlange. Das Standard-Abfrageintervall beträgt 10 Sekunden. Der Standard hat keine nennenswerten Auswirkungen auf die Leistung, aber wenn Ihre Operationen sehr lange laufen sollen, können Sie das Abfrageintervall erhöhen.

Beispiele

// Add ten operation instances to the queue
// and wait for all of them to finish
i = 0;
while(i < 10,
  RunOperation("<TAG>operation:MyOperation</TAG>", false);
  i++;
);

WaitForOperation("<TAG>operation:MyOperation</TAG>");