Verwalten Sie Workflows mithilfe von Controller-Scripts im Jitterbit Integration Studio
Einführung
Ein Controller-Script ist ein Script, das eine Orchestrierungslogik enthält, um zu verwalten, wie und wann ein Operation ausgeführt werden soll. Es wird für komplexe Workflows empfohlen. Normalerweise ist es der erste Operation einer Operation.
Beispiel
In diesem Beispiel möchten wir eine Liste von weiterführenden Schulen lesen, die Liste durchlaufen, ein Wörterbuch erstellen und dann einen Operation aufrufen.
Der Datensatz ist eine Liste von Codes und Namen von High Schools im folgenden Format:
"001,Amon Carter-Riverside HS|002,Arlington Heights HS|003,South Hills HS|4,Diamond Hill-Jarvis HS|005,Paul Laurence Dunbar HS|006,Eastern Hills HS|008,North Side HS|009,Polytechnic HS"
Hinweis
- Mit
If
in Kombination mitRunOperation
UndGetLastError
kann verwendet werden, sodass bei einem technischen Fehler im Operation ein Fehler ausgegeben und der Prozess gestoppt wird. Andernfalls wird der Operation normal ausgeführt. While
sollte für die Schleife verwendet werden.
Hier ist ein allgemeines Beispiel mit Kommentaren:
If(!RunOperation("<TAG>operation:read_data</TAG>"),GetLastError()); // The output is written to a global variable endpoint $io
If(Length($io) > 0, // Checking if any data was read, skip if no data was generated
$dict_highschool_list = Dict(); // Initializing the dictionary
arr = Array(); // Initializing the array
arr_list = Array();
arr = Split($io,"|"); // A "|" is the record separator
cnt = Length(arr); i = 0;
While(i < cnt,
arr_list = Split(arr[i],","); // Another split to separate by commas
AddToDict($dict_highschool_list, arr_list[0],arr_list[1]);
// The dictionary key is the code, its value is the name of the high school. Note the use of brackets to denote the position in the array.
i++);
WriteToOperationLog("Number of high schools read: " + cnt);
If(!RunOperation("<TAG>operation:read_data</TAG>"),GetLastError()); // Use the dictionary as a cross-reference
,
WriteToOperationLog("No data read; stopping process")
);