Allgemeine Funktionen in Jitterbit Design Studio
Allgemeine Funktionen sind Funktionen, die nicht spezifisch für eine bestimmte Aktivität sind, sondern in fast jedem Skript Anwendung finden.
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
setinstancesmuss zuvor erfolgt sein.) Die lokalen Variablen werden aus den entsprechenden globalen Variablen in der Instanz konstruiert, die durch die FunktionSetInstances()angegeben wird. - Fall 2: Ausführung eines Skripts
Wenn der Funktionsaufruf in einem Skript 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, als_1,_2...
Diese Funktion gibt einen Nullwert zurück, der ignoriert werden kann. Alternativ dazu siehe die Funktion getinstance.
Beispiele
// Assuming a parent mapping contains these statements:
...
s = "SELECT key_name, key_value, key_type FROM key_values";
r = DBLookupAll("<TAG>Sources/DB...</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>
// This code fragment calls a script "CalculateDisplayString":
...
RunScript("<TAG>Scripts/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 oberster 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:
AutoNumberauf der übergeordneten Ebene aufgerufen gibt 1 bei PO1 und 2 bei PO2 zurück.AutoNumberauf der untergeordneten Ebene von PO1 gibt 1 bei PO1_record1, 2 bei PO1_record2 und 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: Die GUID der Operationsinstanz, die abgebrochen werden soll
Beschreibung
Bricht eine bestimmte Operationsinstanz ab, die durch eine Operationsinstanz-GUID angegeben wird.
Wie im folgenden Beispiel gezeigt, rufen Sie die Funktion GetOperationQueue auf, um Instanzen laufender Operationen abzurufen. Die Operationsinstanz-GUID befindet sich bei Index 4 der von der Funktion GetOperationQueue zurückgegebenen Sub-Arrays. Weitere Informationen finden Sie in der Dokumentation der Funktion GetOperationQueue.
Beispiele
// Cancel all instances of a particular operation
queue = GetOperationQueue("<TAG>Operations/My Operation</TAG>");
n = Length(queue);
i = 0;
While(i < n, op_inst = queue[i][4];
WriteToOperationLog("Canceling operation instance: " + op_inst);
CancelOperation(op_inst);
i++;
);
CancelOperationChain
Deklaration
void CancelOperationChain(string message)
Syntax
CancelOperationChain(<message>)
Erforderliche Parameter
message: Bei einer nicht leeren Zeichenkette wird diese als Warnmeldung im Operationsprotokoll protokolliert.
Beschreibung
Wenn die aktuelle Operation über Erfolgs- oder Fehleroperationen verfügt, führt der Aufruf dieser Methode dazu, dass diese Operationen abgebrochen werden. Alle durch eine Bedingung verknüpften Operationen werden ebenfalls abgebrochen. Allerdings werden alle Skripte in der aktuellen Operation 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; wenn gültig, wird sein Ergebnis zurückgegebendefaultResult: Standardergebnis, das ausgewertet und zurückgegeben wird, wennexpToEvaluatenicht gültig ist
Beschreibung
Wertet das erste Argument aus; wenn gültig, wird sein Ergebnis als Zeichenkette zurückgegeben. Andernfalls wird der Standardwert ausgewertet und seine Ergebnisse als Zeichenkette zurückgegeben.
Dies kann als „Try-Catch"-Anweisung verwendet werden, da das zweite Argument nur ausgewertet wird, wenn das erste fehlschlägt.
Hinweis
Es wird nicht empfohlen, diese Funktion mit RunOperation zu verwenden, da sie nach der Ausführung der Operation immer ein gültiges Ergebnis zurückgibt, es sei denn, der Operationsaufruf selbst ist fehlerhaft oder ungültig. Stattdessen können Funktionen wie If und GetLastError verwendet werden, um fehlgeschlagene Operationen zu erfassen und ähnliche Funktionalität zu erreichen. Weitere Informationen finden Sie im Abschnitt Scripting unter Best Practices für Design Studio.
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>Project Name/Sources/Source Name</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 Variablen, entweder ein Skalar oder ein Array, oder ein Array
Optionale Parameter
index1,... indexN: Indizes, die das gewünschte Element im Array oder ein Unter-Array angeben
Beschreibung
Gibt den Wert einer globalen Variablen mit einem bestimmten Namen zurück. Wenn ein Array oder der Name einer globalen Variablen, die ein Array ist, übergeben wird, gibt die Funktion ein Element des Arrays zurück. 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 nach seinem Index (oder Indizes für ein mehrdimensionales Array wie ein Datensatz) unter Verwendung der verbleibenden Argumente ab.
Arrays sind nullindexiert; das erste Element befindet sich bei Index 0 und das letzte Element (des Arrays $array) befindet sich bei Index [Length($array)-1].
Der Versuch, auf ein Element über das Ende des Arrays hinaus 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 Quell-Globalvariable zurück.
Dies ist nützlich, wenn die standardmäßige Jitterbit-Darstellung eines Datentyps (z. B. ein Datum oder Double) nicht geeignet ist und die „rohe" Eingabe erforderlich ist. Wenn diese Methode auf ein Objekt aufgerufen wird, das keine Quell-Globalvariable 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 Vorgang im aktuellen Projekt
Beschreibung
Gibt das letzte Datum und die letzte Uhrzeit zurück, zu der der angegebene Vorgang ausgeführt wurde. Der Rückgabewert ist ein Datum (das Datum und Uhrzeit enthält). Nur mit einem einzelnen Agent zu verwenden.
Der in diesem Funktionsaufruf verwendete Vorgang muss als Vorgang im aktuellen Projekt definiert sein. Siehe die Anweisungen zum Einfügen von Projektelementen.
Das zurückgegebene Datum ist in UTC (ohne eine bestimmte Zeitzone). Verwenden Sie die Funktion ConvertTimeZone, um in eine lokale Zeit umzuwandeln, wie im folgenden Beispiel zu sehen.
Warnung
Diese Funktion ist nur mit einem einzelnen privaten Agent zu verwenden, da sie bei Verwendung von Cloud-Agenten oder mehreren privaten Agenten nicht genau ist.
Beispiele
$lastOpRun = GetLastOperationRunStartTime("<TAG>Operations/MyOperation</TAG>");
// 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 Variable oder einer globalen Variable 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 Vorgang im aktuellen Projekt; andernfalls werden alle Vorgänge im aktuellen Projekt verwendet
Beschreibung
Gibt den Inhalt der Vorgangswarteschlange als Array zurück. Es werden nur Vorgänge zurückgegeben, auf die der aktuelle Benutzer Lesezugriff hat. Nur mit einem einzelnen Agent zu verwenden.
Das Ergebnis wird als Array von Arrays zurückgegeben, mit diesen Elementen in jedem Sub-Array:
- 0: Vorgangs-GUID (String)
- 1: Das Flag
IsExecuting(Boolean) - 2: Zeitstempel (Datum) für den Zeitpunkt, zu dem der Vorgang zur Warteschlange hinzugefügt wurde
- 3: Sekunden im aktuellen Status (Integer)
- 4: Vorgangsinstanz-GUID (String)
- 5: Vorgangsname (String)
Das Argument für das Vorgangstag ist optional. Wenn das Argument für das Vorgangstag vorhanden ist, werden nur Warteschlangen-Einträge für diesen bestimmten Vorgang zurückgegeben. Siehe die Anweisungen zum Einfügen von Projektelementen.
Warnung
Diese Funktion ist nur mit einem einzelnen privaten Agent zu verwenden, da sie bei Verwendung von Cloud-Agents oder mehreren privaten Agents nicht genau ist.
Beispiele
// Write the queue for a particular operation to the operation log:
queue = GetOperationQueue("<TAG>Operations/MyOperation</TAG>");
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();
// Gibt den Servernamen zurück
GUID
Deklaration
string GUID()
Syntax
GUID()
Beschreibung
Gibt eine GUID-Zeichenkette zurück (eine global eindeutige Kennung, auch bekannt als universally unique identifier oder UUID).
Das Format der GUID ist xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx, wobei M die Version (4) und N die Variante (8) ist.
Beispiele
GUID();
// Gibt eine Zeichenkette wie "c056f89d-1f45-458e-8b25-9ecf2ed10842" zurück
IfEmpty
Deklaration
type IfEmpty(type arg, type default)
Syntax
IfEmpty(<arg>, <default>)
Erforderliche Parameter
arg: Ein Argument, das ausgewertet werden soll, um zu prüfen, ob es null oder eine leere Zeichenkette istdefault: Standardwert, der zurückgegeben werden soll, wenn arg null oder eine leere Zeichenkette ist
Beschreibung
Gibt den Standardwert zurück, wenn das erste Argument null ist oder wenn 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
// Wenn die Variable "myDate" null oder leer ist,
// wird das aktuelle Datum zurückgegeben, andernfalls wird "myDate" zurückgegeben
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 prüfen, ob es null istdefault: Standardwert, der zurückgegeben wird, wenn arg null ist
Beschreibung
Gibt den Standardwert zurück, wenn das erste Argument null ist, andernfalls wird das erste Argument zurückgegeben.
Dies ist eine Abkürzung 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, werden die Funktionen eine leere Zeichenkette als Nicht-Null-Wert auswerten, wenn Agent-Versionen 11.43 oder später verwendet werden.
Beispiele
// Wenn die Variable "myDate" null ist,
// wird das aktuelle Datum zurückgegeben, andernfalls wird "myDate" zurückgegeben
result = IfNull(myDate, Now());
InitCounter
Deklaration
long InitCounter(type counter[, long initialValue])
Syntax
InitCounter(<counter>, <initialValue>)
Erforderliche Parameter
counter: Der Name einer Variablen oder ein Verweis auf eine globale Variable, die als Zähler verwendet werden soll
Optionale Parameter
initialValue: Der Anfangswert, auf den der Zähler gesetzt werden soll; Standard ist 0
Beschreibung
Initialisiert einen Zähler und übergibt optional einen Anfangswert. Nur mit einem einzelnen Agent zu verwenden.
Wenn kein Anfangswert gesetzt ist, wird der Anfangswert auf 0 gesetzt. Das erste Argument ist entweder der Name einer Variablen oder ein Verweis auf eine Variable (siehe die Beispiele). Diese Methode muss nur in Single-Threaded-Kontexten aufgerufen werden. Das Aufrufen dieser Methode in einem Multi-Threaded-Kontext führt zu einem Fehler. Siehe auch Überlegungen beim Chunking.
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 werden soll
Optionale Parameter
arg1...argN: Eine Reihe von Argumenten, gegen diexverglichen werden soll
Beschreibung
Prüft auf x in der Liste der Argumente (arg1 bis argN). Wenn eine Übereinstimmung (nach Wert) gefunden wird, gibt diese Funktion eine Ganzzahl zurück, die die Position der Übereinstimmung in der Liste darstellt, wobei die erste Position in der Liste durch die Ganzzahl 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 übereinstimmenden Wert enthält oder wenn nur ein einzelnes Argument bereitgestellt wird.
Wichtig
Die Funktion InList unterstützt mehrere Datentypen, indem sie diese vor der Auswertung implizit in Strings konvertiert. Beispiele:
123und"123"sind gleich.4.5und"4.5"sind gleich.trueund"1"sind gleich.falseund"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 auszuwertendes Element
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 auszuwertendes Element
Beschreibung
Gibt „true" zurück, wenn das Argument null ist. Gilt für Datenbankfelder, Variablen und Funktionen, die null zurückgeben können.
Siehe auch die Funktionen IfNull und IfEmpty für Abkürzungen, die statt dieser Funktion verwendet werden können.
Hinweis
Wenn jitterbit.target.xml.include_nil_attribute upstream der Funktionen IfNull oder IsNull auf true gesetzt ist, werten die Funktionen einen leeren String als Nicht-Null-Wert aus, wenn Agent-Versionen 11.43 oder später verwendet werden.
Beispiele
// Wenn „POHeader.Vendor_Code" null ist,
// wird der String „VC" zurückgegeben, andernfalls wird der Code zurückgegeben
If(IsNull(POHeader.Vendor_Code), POHeader.Vendor_Code, "VC")
IsValid
Deklaration
bool IsValid(type x)
Syntax
IsValid(<x>)
Erforderliche Parameter
x: Ein auszuwertendes Element
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 auszuwertendes Element
Beschreibung
Gibt die Länge des Eingabearguments zurück.
Das Verhalten dieser Methode hängt vom Argumenttyp ab:
- string: die Länge des Strings wird zurückgegeben
- array: die Anzahl der Elemente im Array wird zurückgegeben
- binary data: die Anzahl der Bytes wird zurückgegeben
- Für alle anderen Typen wird versucht, das Argument in einen String zu konvertieren, und die Länge des resultierenden Strings wird zurückgegeben.
- Wenn das Argument nicht in einen String konvertiert werden kann oder das Argument null oder von einem unbekannten Typ 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 Nullwert in bestimmte Spalten einer Datenbank einzufügen.
Random
Deklaration
int Random(int min, int max)
Syntax
Random(<min>, <max>)
Erforderliche Parameter
min: Ganzzahlwert der minimalen Zufallszahlmax: Ganzzahlwert der maximalen Zufallszahl
Beschreibung
Generiert eine zufällige Ganzzahl zwischen den angegebenen Minimal- 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 der angegebenen Länge. Standardmäßig verwendet die Funktion alphanumerische Zeichen, also a–z, A–Z und 0–9. 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 Zeichenkettendarstellung eines Arrays
Optionale Parameter
type: Eine Zeichenkette, die den Typ beschreibt, den die Array-Zeichenkette darstellt, z. B."string","int","double","bool"
Beschreibung
Liest eine Zeichenkette, die ein ein- 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 Skalar-Element sein. Die Elemente in einem Array müssen entweder alle Skalare oder alle Arrays sein.
Der Skalarwert kann durch eine CSV-Zeichenkette dargestellt werden. Doppelte Anführungszeichen zum Einschließen der Zeichenkette sind optional, es sei denn, die Zeichenkette enthält Sonderzeichen wie ",{}\n (doppelte Anführungszeichen, Komma, geschweifte Klammern, Tabulatoren, Zeilenumbrüche oder Wagenrückläufe). Innerhalb der in doppelte Anführungszeichen eingeschlossenen Zeichenkette muss jedes doppelte Anführungszeichen durch zwei doppelte Anführungszeichen escaped werden. Das optionale zweite Argument dient zur Angabe des Datentyps des Skalarwerts. Der Typ wird als Zeichenkette 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 gerade generiert wird.
Bei Aufruf in einer Bedingung wird die Instanznummer der letzten generierten Instanz zurückgegeben. Beim ersten Aufruf dieser Methode in einer Schleife wird 0 (Null) zurückgegeben, wenn sie in einer Bedingung aufgerufen wird; andernfalls wird 1 (Eins) zurückgegeben. Der Zähler wird auf 0 zurückgesetzt, wenn eine neue Schleife gestartet wird.
Hinweis
Diese Methode ist veraltet und kann in einer zukünftigen Version entfernt werden.
Verwenden Sie stattdessen SourceInstanceCount() oder TargetInstanceCount(). TargetInstanceCount() ist gleichwertig mit 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, das angibt, ob der Vorgang synchron (Standard) oder asynchron ausgeführt werden soll
Beschreibung
Führt den aktuellen Vorgang erneut aus.
Das Verhalten dieser Methode bezüglich des Rückgabewerts und globaler Variablen ist identisch mit der Funktion RunOperation. 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 Beschränkung auf Agent-Ebene für synchrone Aufrufe innerhalb einer einzelnen While-Schleife und teilt ihre kumulative Anzahl mit RunOperation und RunOperationFromProject. Weitere Informationen finden Sie in der Anmerkung unter RunOperation.
Warnung
Da es sich um einen rekursiven Aufruf handelt, ist es wichtig, dass eine Stoppbedingung vorhanden ist, die höchstwahrscheinlich die Funktion CancelOperation enthält. Andernfalls entsteht eine Endlosschleife 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: Eine Vorgangs-ID im aktuellen Projekt. Weitere Informationen finden Sie in den Anweisungen zum Einfügen von Projektelementen.
Optionale Parameter
runSynchronously: Flag, das angibt, ob der Vorgang synchron (Standard) oder asynchron ausgeführt werden soll
Beschreibung
Führt einen Vorgang synchron oder asynchron aus, wobei synchron die Standardeinstellung ist.
Synchronität
Wenn run_synchronously true ist, 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 werden im übergeordneten Vorgang widergespiegelt. 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 false ist, wird der aufgerufene (untergeordnete) Vorgang oder die Vorgangskette gleichzeitig neben dem Aufrufer (übergeordneter) Vorgang ausgeführt. Der aufgerufene Vorgang wird der Jitterbit-Verarbeitungswarteschlange hinzugefügt, um verarbeitet zu werden, sobald alle vorherigen Vorgänge verarbeitet wurden. Alle globalen Variablen werden vom untergeordneten Vorgang geerbt, aber Änderungen an diesen Variablen werden nicht im übergeordneten Vorgang widergespiegelt. Der übergeordnete Vorgang wird unabhängig vom untergeordneten Vorgang ausgeführt und es gibt keine Garantie dafür, welcher Vorgang zuerst abgeschlossen wird. Gibt false zurück, wenn der untergeordnete Vorgang nicht zur Warteschlange hinzugefügt werden konnte. Im asynchronen Modus werden diese globalen Variablen per Wert statt per Referenz an den aufgerufenen Vorgang übergeben, was sicherstellt, dass Änderungen an den Variablen nicht in anderen Vorgängen widergespiegelt werden.
Weitere Informationen finden Sie unter Synchronität wie für das Studio-Tool Vorgang aufrufen beschrieben. Das gleiche allgemeine Konzept gilt für Design Studio.
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, rufen Sie GetLastError auf, um die Fehlermeldung abzurufen.
Hinweis
Ein Limit auf Agent-Ebene begrenzt auch die Anzahl der synchronen RunOperation-Aufrufe, die innerhalb einer einzelnen While-Schleife ausgeführt werden (50 standardmäßig). Dies ist unabhängig von MaxOperationStackDepth, das verschachtelte synchrone Operationsaufrufe begrenzt, anstatt wiederholte Aufrufe innerhalb einer Schleife zu begrenzen. RunOperation, RunOperationFromProject und ReRunOperation teilen sich einen einzigen kumulativen Zähler pro Schleife, daher zählt der synchrone Aufruf eines dieser Elemente innerhalb derselben Schleife zum gleichen Limit. Wenn das Limit erreicht wird, gibt RunOperation false zurück und die aufrufende Operation wird weiterhin ausgeführt. Das Operationsprotokoll erfasst auch einen Eintrag, der die aufgerufene Operation angibt, wenn das Limit erreicht wurde. Konfigurieren Sie das Limit und ob eine Operation es überschreiben kann, im jitterbit.conf-Dateiabschnitt [OperationEngine].
Beispiele
// Runs the "MyOperation"
RunOperation("<TAG>MyProject/Operations/MyOperation</TAG>");
RunOperationFromProject
Deklaration
bool RunOperationFromProject(string operationId[, bool runSynchronously])
Syntax
RunOperationFromProject(<operationId>[, <runSynchronously>])
Erforderliche Parameter
operationId: Eine Operationsnummer in einem anderen Projekt, das in derselben Umgebung wie das aktuelle Projekt bereitgestellt ist.
Optionale Parameter
runSynchronously: Flag, das angibt, ob die Operation synchron (Standard) oder asynchron ausgeführt werden soll
Beschreibung
Führt eine Operation synchron oder asynchron aus, wobei synchron der Standard ist. Diese Funktion ist ab Version 8.22 verfügbar und ermöglicht es Ihnen, Operationen aus verschiedenen Projekten auszuführen, die sich in derselben Umgebung wie Ihr aktuelles Projekt befinden und bereits bereitgestellt sind. Diese Funktion funktioniert ähnlich wie die RunOperation-Funktion.
Abrufen der Operationsnummer
Um die operationID der Operation im anderen Projekt (als Remote-Projekt bezeichnet) abzurufen, müssen Sie das Remote-Projekt zunächst in derselben Umgebung wie das aktuelle Projekt bereitstellen.
Verwenden Sie dann den Business Analyst-Modus der Design Studio, um diese Funktion in Ihr Skript einzufügen. Der angezeigte Assistent fordert Sie auf, das Projekt auszuwählen, das Sie verwenden möchten, und ermöglicht es Ihnen dann, eine der derzeit bereitgestellten Operationen auszuwählen. Anschließend wird ein entsprechender Pfad erstellt und als ID eingefügt. Siehe auch die Anweisungen zum Einfügen von Projektelementen.
Globale Variablen
Globale Variablen, die im Remote-Projekt festgelegt sind, können vererbt werden, je nachdem, ob die Remote-Operation synchron ausgeführt wird oder nicht. Wie im nächsten Abschnitt beschrieben, werden globale Variablen bei synchroner Ausführung von der aufgerufenen Operationskette geerbt, und alle Änderungen an den globalen Variablen werden in der aktuellen Operation widergespiegelt. Dies ermöglicht es einem Remote-Projekt, mit der aufrufenden Operation zu kommunizieren.
Im asynchronen Modus werden diese globalen Variablen nach Wert statt nach Referenz an die Remote-Operation übergeben, was sicherstellt, dass Änderungen an den Variablen nicht in der aktuellen Operation widergespiegelt werden.
Synchrone Ausführung
Bei runSynchronously=true werden der Vorgang und alle erfolgreichen oder fehlgeschlagenen Vorgänge innerhalb des aktuellen Vorgangs ausgeführt, und der aktuelle Vorgang wartet darauf, dass die gesamte aufgerufene Vorgangskette abgeschlossen wird. Alle globalen Variablen werden von der aufgerufenen Vorgangskette geerbt, und alle Änderungen an den globalen Variablen werden im aktuellen Vorgang berücksichtigt. Dies ist das Standardverhalten, wenn das zweite Argument nicht angegeben wird. Gibt false zurück, wenn der aufgerufene Vorgang fehlgeschlagen ist.
Bei runSynchronously=false wird dieser Vorgang in die Jitterbit-Verarbeitungswarteschlange eingefügt und verarbeitet, sobald alle vorherigen Vorgänge verarbeitet wurden. Alle globalen Variablen werden von der aufgerufenen Vorgangskette geerbt, aber Änderungen an diesen Variablen werden nicht im aktuellen Vorgang berücksichtigt. Der aktuelle Vorgang wird unabhängig von der aufgerufenen Vorgangskette ausgeführt, und es gibt keine Garantie dafür, welcher Vorgang zuerst abgeschlossen wird. Gibt false zurück, wenn der Vorgang nicht in die Warteschlange eingefügt werden konnte.
Wenn die Funktion false zurückgibt, um einen Fehler anzuzeigen, oder wenn der Vorgang nicht in die Warteschlange eingefügt werden konnte, rufen Sie GetLastError auf, um die Fehlermeldung abzurufen.
Hinweis
Der Vorgang im externen Projekt muss bereits aus diesem Projekt bereitgestellt worden sein, um in einer RunOperationFromProject-Funktion im aktuellen Projekt verwendet zu werden.
Hinweis
Ein Limit auf Agent-Ebene begrenzt auch die Anzahl der synchronen RunOperationFromProject-Aufrufe, die innerhalb einer einzelnen While-Schleife ausgeführt werden (standardmäßig 50). Dies ist unabhängig von MaxOperationStackDepth, das verschachtelte synchrone Vorgänge begrenzt, anstatt wiederholte Aufrufe innerhalb einer Schleife zu begrenzen. RunOperation, RunOperationFromProject und ReRunOperation teilen sich einen einzelnen kumulativen Zähler pro Schleife, daher zählt der synchrone Aufruf einer dieser Funktionen innerhalb derselben Schleife zum gleichen Limit. Wenn das Limit erreicht wird, gibt RunOperationFromProject false zurück und der aufrufende Vorgang wird weiter ausgeführt. Das Vorgangsprotokoll zeichnet auch einen Eintrag auf, der den aufgerufenen Vorgang angibt, wenn das Limit erreicht wurde. Konfigurieren Sie das Limit und ob ein Vorgang es überschreiben kann, im jitterbit.conf-Dateiabschnitt [OperationEngine].
Beispiele
// Runs the "MyOperation" in the default mode of synchronously
RunOperationFromProject("<TAG>Project/MyProject/Operations/MyOperation</TAG>");
RunPlugin
Deklaration
bool RunPlugin(string pluginId)
Syntax
RunPlugin(<pluginId>)
Erforderliche Parameter
pluginId: Eine Plugin-ID im aktuellen Projekt. Siehe die Anweisungen zum Einfügen von Projektelementen.
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 Design Studio-Benutzeroberfläche werden nur die Plugins angezeigt, die innerhalb eines Skripts ausgeführt werden können. Plugins, die auf Quellen, Zielen und Webdienstaufrufen ausgeführt werden, sind ausgeblendet. Siehe die Anweisungen zum Einfügen von Projektelementen.
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. Rufen Sie GetLastError auf, um die Fehlermeldung abzurufen.
Beispiele
// Runs the Jitterbit HMACSHA256Generator plugin
RunPlugin("<TAG>plugin:http://www.jitterbit.com/plugins/pipeline/user/HMACSHA256Generator</TAG>");
RunScript
Deklaration
string RunScript(string scriptId[, type var1, type var2, ..., type varN])
Syntax
RunScript(<scriptId>[, <var1>, <var2>, ..., <varN>])
Erforderliche Parameter
scriptId: Eine Script-ID im aktuellen Projekt. Siehe die Anweisungen zum Einfügen von Projektelementen.
Optionale Parameter
var1...varN: Zusätzliche Variablen, die an das aufgerufene Script übergeben werden
Beschreibung
Führt das angegebene Script aus und setzt dann die Ausführung des aktuellen Scripts fort. Diese Methode gibt bei erfolgreicher Ausführung den Rückgabewert des aufgerufenen Scripts als String zurück.
Eine Liste von Werten kann als Eingabevariablen an eine RunScript-Funktion übergeben werden. Das Script 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 von lokalen Variablennamen auf die Liste _1, _2 ... abzubilden. Siehe die ArgumentList-Funktion für Beispiele.
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 mit der ReadArrayString-Funktion in ein Array konvertiert werden. (Ein mehrdimensionales Array kann auch von ReadArrayString konvertiert werden.)
Warnung
Wenn das aufgerufene Script ein JavaScript-Script ist, werden ihm keine Argumente übergeben. Alle in dem Aufruf der RunScript-Funktion enthaltenen Argumente werden im JavaScript-Script nicht deklariert oder verfügbar sein. Die einzige Methode zum Übergeben von Informationen an ein JavaScript-Script ist die Verwendung von globalen Variablen; dies sind Variablen, denen ein $-Symbol vorangestellt ist. Diese Werte können im JavaScript-Script mit der Jitterbit.GetVar-Funktion verfügbar gemacht werden.
Hinweis
Das Aufrufen von Unmap aus einem von RunScript aufgerufenen Script hat keine Auswirkung auf die Zuordnung des aufrufenden Felds, da RunScript das Ergebnis des aufgerufenen Scripts als String zurückgibt, anstatt das Unmap-Signal weiterzuleiten. Rufen Sie Unmap stattdessen direkt im eigenen Zuordnungsausdruck des Zielfelds auf.
Beispiele
// Runs the script "CalculateSomething"
RunScript("<TAG>Scripts/CalculateSomething</TAG>");
RunScript("<TAG>Scripts/CalculateSomething</TAG>", "abc", 1);
// Sends the script "CalculateSomething" the string "abc" and the number 1
// Inside "CalculateSomething", 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 Arrayvalue: Ein Wert, der der globalen Variablen zugewiesen werden soll
Optionale Parameter
index1...indexN: Index oder Indizes, die die Position eines Elements beschreiben, wenn ein Element in einem Array gesetzt wird
Beschreibung
Setzt den Wert einer globalen Variablen mit einem bestimmten Namen auf einen Wert und gibt den Wert zurück. Siehe auch die ergänzende Get-Funktion.
Erste Form: Skalare
In der ersten Form wird eine String-Name einer globalen Variablen mit dem bereitgestellten Namen und Wert gesetzt.
(Obwohl eine *lokale* Variable als Referenz übergeben werden kann, wird dies nicht empfohlen, da die Ergebnisse inkonsistent sein können. Lokale Variablen sind nicht dazu vorgesehen, über diesen Mechanismus gesetzt zu werden.)
Siehe die Beispiele unten.
Zweite und dritte Form: Arrays
In der zweiten und dritten Form liefern zusätzliche Argumente die Indizes zum Festlegen eines Elements in einem Array.
Wenn das erste Argument ein Array ist (oder der Name einer globalen Variablen, die ein Array ist), kann man den Wert eines Array-Elements festlegen, indem man seinen Index (oder Indizes für mehrdimensionale Arrays) als zusätzliche Argumente angibt.
Um Daten an ein Array anzufügen, übergibt man entweder einen negativen Indexwert oder die Größe des Arrays. Die Größe lässt sich mit der Funktion Length als Length($array) bestimmen.
Arrays sind nullindiziert; das erste Element befindet sich bei Index 0 und das letzte Element (des Arrays $array) bei 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.
SCOPE_CHUNK-Präfix-Syntax
Das Festlegen eines Variablennamens mit dem Präfix SCOPE_CHUNK erstellt eine globale Variable, die ausgewertet wird, während jeder Datenblock verarbeitet wird. Dies kann bei der Erstellung von globalen Variablen verwendet werden, deren Wert für einen bestimmten Block eindeutig ist, und kann dann diesen Block identifizieren, wenn eine Datei oder ein Datensatz an einem Ziel erstellt wird. Siehe auch die Funktionen GetChunkDataElement und SetChunkDataElement als alternative Methode, die die Verwendung anderer Variablennamen ermöglicht.
Vorsicht
Die SCOPE_CHUNK-Präfix-Syntax wird in Operationen mit einer Transformation, die bedingte Zuordnung 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-Variablenvalue: Der Wert, auf den die Block-Variable gesetzt werden soll
Beschreibung
Legt den Wert einer angegebenen Block-Variablen fest und gibt den Wert zurück. Eine Block-Variable wird ausgewertet, während jeder Datenblock verarbeitet wird. Eine alternative Methode ist die Verwendung der SCOPE_CHUNK-Syntax 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 ganzzahlige Anzahl der Sekunden, für die die aktuelle Operation unterbrochen werden soll
Beschreibung
Unterbricht die Ausführung für eine angegebene Anzahl von Sekunden.
Beispiele
// Unterbricht die aktuelle Operation für 1 Minute
Sleep(60);
SourceInstanceCount
Deklaration
int SourceInstanceCount()
Syntax
SourceInstanceCount()
Beschreibung
Gibt die Instanzanzahl des letzten Generators zurück.
Der Wert ist unabhängig davon, ob die Zielinstanz generiert wurde oder nicht; derselbe Wert wird zurückgegeben, wenn er in einem Bedingungsskript oder in einem Zuordnungsskript aufgerufen wird.
Wenn die erste Quellinstanz als Generator verwendet wird, wird 1 zurückgegeben, dann 2 und so weiter.
Siehe auch die Funktion TargetInstanceCount.
Beispiele
// Gibt die Instanzanzahl des letzten Generators zurück
currentSourceInstance = SourceInstanceCount();
TargetInstanceCount
Declaration
int TargetInstanceCount()
Syntax
TargetInstanceCount()
Description
Gibt die Instanzanzahl eines generierenden Zielschleifenknotens zurück.
Wenn die Funktion in einer Bedingung aufgerufen wird, gibt sie die Anzahl der Zielinstanzen zurück, die bisher für den aktuellen Schleifenknoten generiert wurden. Die von dieser Methode zurückgegebene Anzahl ist um eins kleiner, 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 und so weiter. Wenn die Funktion in einer Bedingung aufgerufen wird, ist die Sequenz stattdessen 0, 1 und so weiter.
Siehe auch die Funktion SourceInstanceCount.
Examples
// Gibt die Instanzanzahl des letzten Zielgenerators zurück
currentTargetInstance = TargetInstanceCount();
WaitForOperation
Declaration
void WaitForOperation(string operationId[, int timeOutSec, int pollIntervalSec])
Syntax
WaitForOperation(<operationId>[, <timeOutSec>, <pollIntervalSec>])
Required parameters
operationID: Ein Vorgang im aktuellen Projekt
Optional parameters
timeOutSec: Eine lokale VariablepollIntervalSec: Eine lokale Variable
Description
Stoppt die Ausführung eines Skripts oder einer Zuordnung, bis alle Instanzen des angegebenen Vorgangs, die sich derzeit in der Vorgangswarteschlange befinden, die Verarbeitung abgeschlossen haben. Diese Methode ist nützlich, wenn man viele Instanzen eines Vorgangs zur parallelen Verarbeitung in die Warteschlange einreihen und dann auf deren Abschluss warten möchte.
Der in diesem Funktionsaufruf verwendete Vorgang muss als Vorgang im aktuellen Projekt definiert sein. Siehe die Anweisungen zum Einfügen von Projektelementen.
Note:
- Für jeden Vorgang (identifiziert durch seine
operationID), auf den gewartet werden soll, muss ein Aufruf dieser Methode erfolgen. - Vorgansinstanzen, die nach diesem Aufruf hinzugefügt werden (durch Aufrufe der Funktion
RunOperation), werden nicht berücksichtigt. - Der aktuelle Benutzer benötigt Lesezugriff auf den Vorgang, auf den gewartet wird.
Das zweite (optionale) Argument ist das Timeout in Sekunden. Das Standard-Timeout beträgt 1 Stunde (3600 Sekunden). Wenn alle Vorgänge nicht innerhalb dieser Zeit abgeschlossen sind, wird ein Fehler ausgelöst. Wenn die Vorgänge unter normalen Bedingungen länger laufen sollen, muss das Timeout erhöht werden. Dieser Fehler kann mit der Funktion Eval behandelt werden.
Das dritte (optionale) Argument ist das Abfrageintervall in Sekunden. Das Abfrageintervall ist die Zeit zwischen den Überprüfungen der Vorgangswarteschlange. Das Standard-Abfrageintervall beträgt 10 Sekunden. Der Standard hat keine signifikanten Auswirkungen auf die Leistung. Wenn die Vorgänge jedoch sehr lange laufen sollen, kann das Abfrageintervall erhöht werden.
Examples
// Add ten operation instances to the queue
// and wait for all of them to finish
i = 0;
while(i < 10,
RunOperation("<TAG>Operations/Process One Message</TAG>", false);
i++;
);
WaitForOperation("<TAG>Operations/Process One Message</TAG>");