Zum Inhalt springen

Jitterbit Script im Integration Studio

Einführung

Die Jitterbit Script Skriptsprache kann in allen Arten von Scripts innerhalb von Harmony verwendet werden, einschließlich Operationen und Transformations. Scripts werden standardmäßig in der Jitterbit Script Skriptsprache erstellt. Diese Seite enthält spezifische Informationen zur Jitterbit Script, wie Syntax, Datentypen, Operatoren, Escape-Sequenzen und Kontrollstrukturen. Siehe auch verwandte Seiten zum Erstellen eines Script, mithilfe des Script Editors und Testen eines Script.

Syntax

In Jitterbit Script müssen Scripts in einem <trans> öffnender Tag und </trans> schließendes Tag, es sei denn, Sie verwenden Funktionen, die ausdrücklich erfordern, dass Code außerhalb dieser Tags platziert wird, wie beispielsweise mehrere Datenbankfunktionen.

Innerhalb dieser Tags besteht ein Jitterbit Script aus integrierten Funktionen, Variablen oder auszuführender Logik, getrennt durch ein Semikolon (;).

Als Ergebnis wird der Rückgabewert der letzten Anweisung des Script vor der schließenden </trans> Etikett.

Kommentare

Im Rahmen der <trans>... </trans> Tags, die Verwendung von zwei Schrägstrichen // markiert den Anfang eines einzeiligen Kommentars und wirkt sich auf den Text bis zum Ende dieser Zeile aus. Kommentare sind weder Teil des ausgeführten Script noch des transformierten Ergebnisses.

Ein einzeiliger Kommentar könnte beispielsweise folgendermaßen aussehen:

Single-Line Comment in Jitterbit Script
<trans>
// This is a comment
DbLookup(...)
</trans>

Sie können auch einen Blockkommentar verwenden:

Multi-Line Comment in Jitterbit Script
<trans>
/* This is a multi-line comment
This line is also a comment
This is the final line of the comment */
DbLookup(...)
</trans>

Kontrollstrukturen

Die Jitterbit Script Skriptsprache enthält keine Steueranweisungen wie if oder while Schleifen. Stattdessen können Sie Jitterbit-Funktionen verwenden, um die gleiche Funktionalität zu erreichen.

Siehe die Case, If, Und While Funktionen unter Logische Funktionen. Der Eval Funktion unter Allgemeine Funktionen kann als „Try-Catch“-Anweisung verwendet werden.

Für jede einzelne Schleife in Jitterbit Scripts sind maximal 50.000 Schleifeniterationen zulässig. Informationen zum Erhöhen der zulässigen Anzahl von Iterationen pro Schleife finden Sie unter jitterbit.scripting.while.max_iterations in Skripting von Jitterbit-Variablen.

Reguläre Ausdrücke

Harmony unterstützt reguläre Ausdrücke als Mittel zum Angeben und Erkennen von Textzeichenfolgen, einschließlich bestimmter Zeichen, Wörter oder Zeichenmuster. Harmony unterstützt die Syntax regulärer Ausdrücke aus der Programmiersprache Perl 5.

<trans>
RegExMatch(<input>,<expression>,...)
</trans>

Escape-Sequenzen

Harmony erkennt diese Escape-Sequenzen, wenn sie in Literalzeichenfolgen verwendet werden:

Reihenfolge Definition
\t Registerkarte
\r Wagenrücklauf
\n Neue Zeile

Literale Zeichenfolgen müssen in doppelte Anführungszeichen (") oder einfache Anführungszeichen (').

Alle anderen Anführungszeichen müssen maskiert werden, wenn sie in der Zeichenfolge verwendet werden. Beispiel:

$str = "String with line break.\nThat's the last line.";

$str = 'Rob "The Gronk" Gronkowski';

$str = "Rob \"The Gronk\" Gronkowski";

Betreiber

Dies ist eine Zusammenfassung der von Jitterbit Script unterstützten Operatoren. Jitterbit Script versucht, die Argumente zu konvertieren, um die Operation zu ermöglichen. Wenn dies nicht möglich ist, wird ein Fehler gemeldet.

Arithmetik

Operator Beschreibung
+ Addiert zwei Zahlen oder verkettet zwei Zeichenfolgen. Wenn eine Zeichenfolge zu etwas anderem addiert wird, werden beide Argumente in Zeichenfolgen umgewandelt. Wenn beide Argumente Zahlen sind, ist das Ergebnis vom Typ „Double“.
++ Erhöht den Wert um 1. Beispiel: $count++; Wenn ein Präfix vorhanden ist, geht die Zuweisung der Erhöhung voraus.
+= Verkettet einen String oder fügt Zahlen zur Zielvariable hinzu. Beispiel: $count+=2 ist das gleiche wie $count=$count+2.
- Subtrahiert zwei Zahlen. Das Ergebnis ist vom Typ „Double“.
-- Dekrementiert einen Wert um 1. Beispiel: $count--; Wenn ein Präfix vorhanden ist, geht die Zuweisung der Dekrementierung voraus.
-= Subtrahiert Zahlen von der Zielvariable. Beispiel: $count-=2 ist das gleiche wie $count=$count-2.
/ Dividiert zwei Zahlen. Das Ergebnis ist vom Typ „Double“.
* Multipliziert zwei Zahlen. Das Ergebnis ist vom Typ „Double“.
^ Potenziert das erste Argument mit dem zweiten Argument. Wenn beide Argumente Ganzzahlen sind, ist das Ergebnis eine Ganzzahl.

Logisch

Operator Beschreibung
& Logischer UND-Operator. Das Ergebnis ist vom Typ Boolean && kann ebenfalls verwendet werden. Dies ist immer ein Kurzschlussoperator, d. h. wenn das linke Argument als „false“ ausgewertet wird, wird das rechte Argument nicht ausgewertet.
| Logischer ODER-Operator. Das Ergebnis ist vom Typ Boolean || kann ebenfalls verwendet werden. Dies ist immer ein Kurzschlussoperator, d. h. wenn das linke Argument als wahr ausgewertet wird, wird das rechte Argument nicht ausgewertet.

Vergleich

Verwenden Sie die folgenden Operatoren, um die Werte zweier Argumente desselben Datentyps zu vergleichen:

Operator Beschreibung
= Weist einer Variablen zu. Das rechte Argument wird dem linken Argument zugewiesen.
== Äquivalenzoperator. Gibt „true“ zurück, wenn die Argumente gleich sind. Gibt „false“ zurück, wenn sie nicht gleich sind.
!= Nicht äquivalenter Operator. Gibt „true“ zurück, wenn die Argumente nicht gleich sind. Gibt „false“ zurück, wenn sie gleich sind.
<
>
<=
>=
Vergleichsoperatoren. Gibt „true“ oder „false“ zurück.

Hinweis

Das Vergleichen von Argumenten unterschiedlicher Datentypen wird nicht unterstützt.

Negation

Operator Beschreibung
!

Negationsoperator. Wandelt einen wahren Wert in einen falschen um und umgekehrt. Beispiel:

!IsNull($org.workorder.id)

Anordnung

Operator Beschreibung
{ }

Wird zum Erstellen eines Arrays verwendet. Beispiele:

\(a={"London","Paris","New York"};<br/>\)b={{"John",25},
{"Steve",32},
{"Daniel",26}
};
$c={"\"quoted\"", '"quoted"'};

Operatorrangfolge

Diese Tabelle zeigt die Priorität der Operatoren, von der höchsten zur niedrigsten:

Operatoren Beschreibung
() Klammern zur Gruppierung
{ } Klammern für Arrays
++ -- - prä- und postunäre Operatoren
^ Leistung
! Verneinung
* / Multiplikation, Division
+ - Addition, Subtraktion
< > == != <= >= Vergleichsoperatoren
& && Logisches UND
| || Logisches ODER
= += -= Auftrag

Komponentenpalette

Die Skriptkomponentenpalette bietet Zugriff auf verschiedene Komponenten, die in einem Script verwendet werden können. Sie können Komponenten in einem Script verwenden, indem Sie sie aus der Komponentenpalette ziehen oder darauf doppelklicken, die Autovervollständigungsfunktion verwenden oder die richtige Syntax manuell eingeben oder einfügen.

Notiz

Wenn ein Script andere Projektkomponenten aufruft, die noch nicht bereitgestellt wurden, müssen diese Komponenten bereitgestellt werden, bevor Sie das Script erfolgreich ausführen können.

Sie können auf der rechten Seite des Projekt-Designers und des Script Editors auf die Skriptkomponentenpalette zugreifen:

Quellobjekttransaktion

Quellobjekte

Der Die Tab Quellobjekte ist nur für Scripts vorhanden, die innerhalb einer Transformation erstellt wurden.

Innerhalb eines Transformation können Sie Quelldaten referenzieren, indem Sie den Referenzpfad eines Felds einfügen, oder Sie können Quelldatenknoten referenzieren, Transformation wird das Quellobjekt einem Zielfeld zugeordnet (siehe Quellobjekte zuordnen). Obwohl Knoten nicht Zielfeldern zugeordnet werden können, können sie als Argumente mit einigen XML-Funktionen verwendet werden und Wörterbuch- und Array-Funktionen. Knoten können auch verwendet werden, um Bedingungen für Zielknoten zu erstellen (siehe Bedingtes Mapping).

So fügen Sie einem Transformation einen Feld- oder Knotenreferenzpfad hinzu (Jitterbit Script), verwenden Sie eine der folgenden Methoden:

  • Ziehen Sie das Objekt aus der Palette in das Script, um den Referenzpfad des Objekts einzufügen.
  • Doppelklicken Sie auf das Objekt in der Palette, um den Referenzpfad des Objekts an der Cursorposition im Script einzufügen.
  • Geben Sie den Referenzpfad zum Quellobjekt manuell ein.

In diesem Beispiel wird ein Quellobjekt einer globalen Variable in einer Transformation zugewiesen:

<trans>
$org.calculate.operand1=root$transaction.request$body$Calculate$input.Operand1$;
</trans>

Dieses Beispiel verwendet einen Knotenpfad mit einer XML-Funktion:

<trans>
GetXMLString([root$transaction.response$body$queryResponse$result$records.Case$Account$]);
</trans>

Informationen zum Aufbau von Feld- und Knotenreferenzpfaden finden Sie unter Referenzpfadnotation in Knoten und Felder.

Funktionen

Der Die Tab Funktionen bietet eine Liste der in einem Script verfügbaren Funktionen.

Innerhalb eines Script können Sie Funktionen verwenden, indem Sie die Funktionssyntax einfügen.

So fügen Sie die Funktionssyntax zu einem Script hinzu (Jitterbit Script oder JavaScript), verwenden Sie eine der folgenden Methoden:

  • Ziehen Sie die Funktion aus der Palette in das Script, um die Funktionssyntax einzufügen.
  • Doppelklicken Sie auf die Funktion in der Palette, um die Funktionssyntax an der Cursorposition im Script einzufügen. Beim Einfügen der Funktionssyntax wird das erste Funktionsargument hervorgehoben und der Cursor an das Ende des Arguments verschoben.
  • Beginnen Sie mit der Eingabe des Funktionsnamens und drücken Sie dann Control+Space um eine Liste mit Autovervollständigungsvorschlägen anzuzeigen. Wählen Sie eine Funktion aus, um die Funktionssyntax einzufügen.
  • Geben Sie die Funktionssyntax manuell ein.

Weitere Informationen finden Sie in der Dokumentation für jede Funktion nach Kategorie unter Funktionen.

Variablen

Der Die Tab Variablen bietet Zugriff auf Variablen, die im gesamten Projekt global referenziert werden können, einschließlich globaler Variablen, Projektvariablen und Jitterbit-Variablen.

Innerhalb eines Script können Sie Variablen verwenden, indem Sie die Variablensyntax einfügen (siehe die Dokumentation für jeden Variablentyp unter Variablen).

So fügen Sie die Variablensyntax zu einem Script hinzu (Jitterbit Script oder JavaScript), verwenden Sie eine der folgenden Methoden:

  • Ziehen Sie die Variable aus der Palette in das Script, um die Variablensyntax einzufügen.
  • Doppelklicken Sie auf die Variable in der Palette, um die Variablensyntax an der Cursorposition im Script einzufügen.
  • Beginnen Sie mit der Eingabe des Variablennamens und drücken Sie dann Control+Space, um eine Liste mit Autovervollständigungsvorschlägen anzuzeigen. Wählen Sie eine Variable aus, um die Variablensyntax einzufügen.
  • Geben Sie die Variablensyntax manuell ein.

Auf globale Variablen kann zugegriffen werden, indem entweder $ Zeichen vor dem Variablennamen oder durch Verwendung des Set Und Get Funktionen.

Globale Variablennamen können aus diesen Zeichen bestehen: Buchstaben (a-z, A-Z), Zahlen (0-9), Punkte und Unterstriche. Andere Zeichen, wie Bindestriche, werden nicht empfohlen und können Probleme verursachen. (Beachten Sie, dass im Fall von lokalen Variablen, das Punktzeichen wird ebenfalls nicht empfohlen.)

Dieses Beispiel referenziert eine globale Variable mit $ So erstellen Sie ein globales Wörterbuch:

<trans>
$org.lookup.currency=Dict();
$org.lookup.currency[1]="USD";
$org.lookup.currency[2]="EUR";
</trans>

Dieses Beispiel weist eine globale Variable einer anderen globalen Variable zu, und zwar mit dem Set Und Get Funktionen:

<trans>
Set("op2", Get("op"));
</trans>

Beachten Sie, dass Sie bei bestimmten Jitterbit-Variablen, da sie einen Bindestrich enthalten, auf diese verweisen müssen, indem Sie entweder Set oder Get Funktionen:

<trans>
Get("jitterbit.source.http.response.header.Content-Type");
</trans>

Lokale Variablen, obwohl nicht in der Tab Variablen aufgeführt, werden nicht aufgeführt, da sie nicht global verfügbar sind. Sie können sie jedoch weiterhin lokal in einem Script verwenden. Lokale Variablen haben diese Eigenschaften:

  • Eine lokale Variable wird nur innerhalb eines bestimmten Script definiert und verwendet. Daher besteht kein Grund zur Sorge, wenn es zu Konflikten zwischen dem Wert einer lokalen Variable im aktuellen Script und dem Wert einer lokalen Variable mit demselben Namen in einem anderen Script kommt.
  • Die lokale Variable kann nicht definiert oder abgerufen werden durch Set oder Get Funktionen.
  • RunScript Sie können dem Script Argumente übergeben, zum Beispiel RunScript(SCRIPT_ID, 5, "abc",...)Werte im Script können vordefinierten lokalen Variablen zugewiesen werden _1, _2, ... In diesem Beispiel _1 stellt den ganzzahligen Wert dar von 5, während _2 stellt den Stringwert dar "abc" Die lokale Variable muss definiert werden, bevor auf sie verwiesen werden kann, außer im Fall der Eingabeargumente _1, _2, ... wie oben beschrieben.
  • Die ArgumentList Die Funktion steht zur Neudefinition einer Liste lokaler Variablen als Eingabeargumente zur Verfügung.

Ausführlichere Informationen zu den einzelnen Variablentypen und Beispiele finden Sie unter Variablen.

Plugins

Der Die Tab Plugins bietet eine Liste von Plugins, die in einem Script ausgeführt werden können.

Innerhalb eines Script können Sie ein Plugin als Argument für die RunPlugin Funktion durch Einfügen des Plugin-Referenzpfads (siehe In einem Script aufgerufene Plugins).

So fügen Sie einem Script einen Plugin-Referenzpfad hinzu (Jitterbit Script), verwenden Sie eine der folgenden Methoden:

  • Ziehen Sie das Plugin aus der Palette in das Script, um sowohl die RunPlugin Funktion und die Plugin-Referenz.
  • Doppelklicken Sie auf das Plugin in der Palette, um die Plugin-Referenz an der Cursorposition im Script einzufügen.
  • Beginnen Sie mit der Eingabe des Plugin-Namens und drücken Sie dann Control+Space um eine Liste mit Autovervollständigungsvorschlägen anzuzeigen. Wählen Sie ein Plugin aus, um die Plugin-Referenz einzufügen.
  • Geben Sie die Plugin-Referenz manuell ein.

Die Plugin-Referenz ist enthalten in <TAG> Und </TAG> Tags und besteht aus dem Typ der Projektkomponente (plugin), gefolgt von einem Doppelpunkt (:), gefolgt vom Plugin-Namen aus dem XML-Manifest. Dieses Beispiel verwendet das RunPlugin Funktion mit einem Verweis auf den HMAC-SHA1-Generator Plugin:

<trans>
RunPlugin("<TAG>plugin:http://www.jitterbit.com/plugins/pipeline/user/HMACSHA1Generator</TAG>");
</trans>

Beachten Sie, dass der Plugin-Name aus dem XML-Manifest nicht unbedingt mit dem Anzeigenamen in der Management Console übereinstimmt.

Notiz

Es werden nur Plugins aufgelistet, die für die Verwendung in einem Script verfügbar sind. Zusätzliche Plugins können auf eine Aktivität innerhalb einer Operation angewendet werden. Dokumentation zur Verwendung von Plugins, einschließlich der Konfiguration eines Plugins auf Aktivitätsebene und der Festlegung globaler Variablen, finden Sie in den Abschnitten unter Plugins.

Operationen

Der Die Tab Operationen bietet eine Liste der Operationen im Projekt, auf die in einem Script verwiesen werden kann.

Innerhalb eines Script können Sie eine Operation als Argument für Funktionen verwenden, indem Sie den Operation einfügen.

So fügen Sie einem Script einen Operation hinzu (Jitterbit Script), verwenden Sie eine der folgenden Methoden:

  • Ziehen Sie die Operation aus der Palette in das Script, um sowohl die RunOperation Funktion und Operation.
  • Doppelklicken Sie auf die Operation in der Palette, um die Operation an der Cursorposition im Script einzufügen.
  • Beginnen Sie mit der Eingabe des Operation und drücken Sie dann Control+Space, um eine Liste mit Autovervollständigungsvorschlägen anzuzeigen. Wählen Sie eine Operation aus, um die Operation einzufügen.
  • Geben Sie die Operation manuell ein.

Die Operation ist enthalten in <TAG> Und </TAG> Tags und besteht aus dem Typ der Projektkomponente (operation), gefolgt von einem Doppelpunkt (:), gefolgt vom benutzerdefinierten Operation. In diesem Beispiel wird die RunOperation Funktion mit einem Verweis auf eine Operation namens Meine Beispieloperation:

<trans>
RunOperation("<TAG>operation:My Example Operation</TAG>");
</trans>

Neben der Verwendung von RunOperation Funktion können Sie die Operation auch mit anderen Funktionen aus der Tab Funktionen verwenden, die die Operation als Argument verwenden. Dazu gehören Funktionen, die in Allgemeine Funktionen aufgeführt sind, die eine operationInstanceGUID, operationId, oder operationTag als Parameter. Zum Beispiel:

  • CancelOperation- GetLastOperationRunStartTime- GetOperationQueue- RunOperation- WaitForOperation

Benachrichtigungen

Der Die Tab Benachrichtigungen bietet eine Liste der Benachrichtigungen im Projekt, auf die in einem Script verwiesen werden kann.

Innerhalb eines Script können Sie auf eine Benachrichtigung als Argument für verweisen SendEmailMessage-Funktion durch Einfügen des Benachrichtigungsreferenzpfads.

So fügen Sie einem Script einen Benachrichtigungsreferenzpfad hinzu (Jitterbit Script), verwenden Sie eine der folgenden Methoden:

  • Ziehen Sie die Benachrichtigung aus der Palette in das Script, um sowohl die SendEmailMessage-Funktion und die Benachrichtigungsreferenz.
  • Doppelklicken Sie auf die Benachrichtigung in der Palette, um den Benachrichtigungsverweis an der Cursorposition im Script einzufügen.
  • Beginnen Sie mit der Eingabe des Benachrichtigungsnamens und drücken Sie dann Control+Space um eine Liste mit Autovervollständigungsvorschlägen anzuzeigen. Wählen Sie eine Benachrichtigung aus, um die Benachrichtigungsreferenz einzufügen.
  • Geben Sie die Benachrichtigungsreferenz manuell ein.

Die Benachrichtigungsreferenz ist enthalten in <TAG> Und </TAG> Tags und besteht aus dem Typ der Projektkomponente (email), gefolgt von einem Doppelpunkt (:), gefolgt vom vom Benutzer angegebenen Namen der Email Benachrichtigung. In diesem Beispiel wird das SendEmailMessage-Funktion mit einem Verweis auf eine Email Benachrichtigung namens Meine Beispiel-Email-Benachrichtigung:

<trans>
SendEmailMessage("<TAG>email:My Example Email Notification<TAG>");
</trans>

Scripts

Der Die Tab Scripts enthält eine Liste aller anderen eigenständigen Scripts im Projekt - geschrieben entweder in Jitterbit Script oder JavaScript — die für die Referenzierung in einem Script verfügbar sind.

Innerhalb eines Script können Sie auf ein anderes Script als Argument für verweisen RunScript-Funktion durch Einfügen des Script.

So fügen Sie einem Script einen Script hinzu (Jitterbit Script), verwenden Sie eine der folgenden Methoden:

  • Ziehen Sie das Script aus der Palette in das Script, um sowohl die RunScript-Funktion und die Script.
  • Doppelklicken Sie auf das Script in der Palette, um die Script an der Cursorposition innerhalb des Script einzufügen.
  • Beginnen Sie mit der Eingabe des Script und drücken Sie dann Control+Space, um eine Liste mit Autovervollständigungsvorschlägen anzuzeigen. Wählen Sie ein Script aus, um die Script einzufügen.
  • Geben Sie die Script manuell ein.

Die Script ist enthalten in <TAG> Und </TAG> Tags und besteht aus dem Typ der Projektkomponente (script), gefolgt von einem Doppelpunkt (:), gefolgt vom benutzerdefinierten Script. Dieses Beispiel verwendet die RunScript Funktion mit einem Verweis auf ein Script namens Mein Beispielskript:

<trans>
RunScript("<TAG>script:My Example Script</TAG>");
</trans>

Endpoints

Der Die Tab Endpoints bietet eine Liste der Endpoints im Projekt, auf die in einem Script verwiesen werden kann.

Innerhalb eines Script können Sie Endpoints als Argument für Funktionen referenzieren, indem Sie den Verbindungs- oder Aktivitätsreferenzpfad einfügen.

So fügen Sie einem Script einen Verbindungs- oder Aktivitätsreferenzpfad hinzu (Jitterbit Script oder JavaScript), verwenden Sie eine der folgenden Methoden:

  • Ziehen Sie die Verbindung oder Aktivität aus der Palette in das Script, um die entsprechende Referenz einzufügen.
  • Doppelklicken Sie auf die Verbindung oder Aktivität in der Palette, um die entsprechende Referenz an der Cursorposition im Script einzufügen.
  • Beginnen Sie mit der Eingabe des Verbindungs- oder Aktivitätsnamens und drücken Sie dann Control+Space, um eine Liste mit Autovervollständigungsvorschlägen anzuzeigen. Wählen Sie eine Verbindung oder Aktivität aus, um die entsprechende Referenz einzufügen.
  • Geben Sie die Verbindungs- oder Aktivitätsreferenz manuell ein.

Die Typen von Endpoints, die in Scripts verwendet werden können, hängen davon ab, ob es Funktionen gibt, die die Verwendung des spezifischen Verbindungstyps oder der Aktivitätsreferenz als Argument unterstützen. Die Endpoint müssen in Verbindung mit diesen Funktionen verwendet werden, um im Script gültig zu sein.

Verbindungen und Aktivitäten, die im Script verwendet werden können, werden in Kategorien angezeigt, in denen die Anzahl der in jeder Kategorie verfügbaren Elemente aufgeführt ist. Den Aktivitätsnamen sind eckige Klammern vorangestellt, die den für den Aktivitätstyp spezifischen Interaktionstyp mit der Datenressource enthalten (z. B. Lesen, Schreiben, Abfragen, Upsert, GET, POST usw.). Damit sie hier angezeigt werden, müssen Verbindungen und Aktivitäten bereits im Projekt konfiguriert sein. Wenn beispielsweise im Projekt eine einzelne konfigurierte HTTP-Verbindung vorhanden ist und zwei Aktivitäten mit dieser Verbindung konfiguriert sind, werden sie wie folgt gruppiert angezeigt:

Endpoints HTTP

Verbindungsreferenzen sind enthalten in <TAG> Und </TAG> Tags und bestehen aus dem Typ der Projektkomponente (endpoint), gefolgt von einem Doppelpunkt (:), gefolgt vom Endpoint und dem vom Benutzer angegebenen Verbindungsnamen. Beispiel:

<TAG>endpoint:database/My Example Database</TAG>

Aktivitätsreferenzen sind länger, da die Verbindungsreferenz, von der sie verknüpft sind, ebenfalls im Pfad enthalten sein muss. Aktivitätsreferenzen sind enthalten in <TAG> Und </TAG> Tags und bestehen aus dem Typ der Projektkomponente (activity), gefolgt von einem Doppelpunkt (:), gefolgt vom Typ und Namen der Verbindung, gefolgt vom Aktivitätstyp, gefolgt vom vom Benutzer angegebenen Aktivitätsnamen. Beispiel:

<TAG>activity:database/My Example Database/database_query/Query Employees</TAG>

Abhängig vom spezifischen Verbindungs- oder Aktivitätstyp, wie unten aufgeführt, können Sie Funktionen aus der Tab Funktionen verwenden, die einen Connector-Verweis als Argument annehmen. Die unten beschriebenen Funktionen können mit den aufgeführten Verbindungen und Aktivitäten verwendet werden.

Kategorie
Beschreibung Verwendung von Komponenten als Funktionsparameter
Endpoints Diese Kategorie umfasst alle konfigurierten Datenbanken Verbindungen und zugehörige Aktivitäten, die beide je nach spezifischer Funktion in Scripts verwendet werden können. Datenbankverbindungen können mit allen in Datenbankfunktionen aufgeführten Funktionen verwendet werden, die eine databaseId als Parameter, einschließlich:
  • CacheLookup
  • CallStoredProcedure
  • DBCloseConnection
  • DBExecute
  • DBLookup
  • DBLookupAll
  • DBRollbackTransaction
  • DBWrite
Datenbankaktivitäten können mit allen in Datenbankfunktionen aufgeführten Funktionen verwendet werden, die eine Datenbank verwenden target als Parameter, einschließlich:
  • DBLoad
Dateifreigabe-Endpoints
** FTP Endpoints
HTTP- Endpoints
Lokale Endpoints
Temporäre Endpoints**
Diese Kategorien umfassen alle konfigurierten Dateifreigaben, FTP, HTTP, Lokaler Speicher und Temporärer Speicher Verbindungen (die nicht in einem Script verwendet werden können) und zugehörige Aktivitäten (die in einem Script verwendet werden können)

Hinweis

Obwohl auch eine Kategorie API Endpoints enthalten ist, API Verbindungen und Aktivitäten können nicht in einem Script verwendet werden.

Die enthaltenen Aktivitäten (außer API Aktivitäten) können mit allen in Kryptografische Funktionen aufgeführten Funktionen verwendet werden, Datenbankfunktionen, Dateifunktionen oder Salesforce Funktionen, die eine sourceId oder targetId als Parameter, einschließlich dieser:
  • ArchiveFile
  • Base64EncodeFile
  • DBLoad
  • DBWrite
  • DeleteFile
  • DeleteFiles
  • DirList
  • FileList
  • FlushAllFiles
  • FlushFile
  • ReadFile
  • SfLookupAllToFile
  • WriteFile
Salesforce Endpoints Diese Kategorie umfasst alle konfigurierten Salesforce Verbindungen (die in einem Script verwendet werden können). Salesforce-Aktivitäten sind nicht enthalten, da sie nicht in einem Script verwendet werden können. Salesforce Verbindungen können mit allen in Salesforce-Funktionen aufgeführten Funktionen verwendet werden, die eine salesforceOrg als Parameter, einschließlich:
  • LoginToSalesforceAndGetTimeStamp
  • SalesforceLogin
  • SetSalesforceSession
  • SfCacheLookup
  • SfLookup
  • SfLookupAll
  • SfLookupAllToFile
NetSuite Endpoints Diese Kategorie umfasst alle konfigurierten NetSuite Verbindungen (die in einem Script verwendet werden können). NetSuite-Aktivitäten sind nicht enthalten, da sie nicht in einem Script verwendet werden können. NetSuite Verbindungen können mit allen in NetSuite-Funktionen aufgeführten Funktionen verwendet werden, die eine netSuiteOrg als Parameter, einschließlich:
  • NetSuiteGetSelectValue
  • NetSuiteGetServerTime
  • NetSuiteLogin

Datentypen

Alle Quellobjekte und globalen Variablen, die nicht null sind, haben einen ihnen zugeordneten Datentyp. Verschiedene Datentypen können mithilfe der Funktionen in den Konvertierungsfunktionen geändert werden Kategorie.

Diese Datentypen werden in Jitterbit Scripts unterstützt:

Typ Beschreibung Klassifizierung
binary Binär Daten
bit Bit Daten
bool Boolesch Logisch
int Ganzzahl Numerisch
decimal Dezimal Numerisch
double Doppelt Numerisch
float Gleitkommazahl Numerisch
long Lang Numerisch
date Datum Datum & Uhrzeit
timespan Zeitspanne (Datum mit Uhrzeit) Datum und Uhrzeit
string Zeichenfolge Zeichenfolge
array Anordnung Sammlung
dictionary Wörterbuch (auch bekannt als map) Sammlung
instance Instanz in einer Datenquelle oder einem Ziel Schema
node Knoten in einem Schema einer Datenquelle oder eines Ziels Schema
type Alle dieser Typen Daten
null Nullwert Daten
var Variablenreferenz, entweder lokal oder global Script

Arrays

Ein Array ist eine Sammlung von Variablen. Jedes Mitglied in der Sammlung kann von jedem unterstützten Typ sein, einschließlich Arrays. Auf die Mitglieder eines Arrays kann über den Befehl Get Und Set Methoden oder die Verwendung von [] array Syntax. Arrays sind nullindiziert und Indizes sind numerisch, sequenziell und können nicht übersprungen werden.

Sie können auch Arrays globaler Variablen erstellen. Eine globale Array-Variable ist ein Array anderer globaler Variablen, die wiederum Arrays sein können.

Festlegen eines Arrays

Sie können Werte in einem Array festlegen, indem Sie Set Funktion mit dieser Syntax:

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

Dies setzt den Wert der globalen Variable mit dem angegebenen Namen auf value und gibt den Wert zurück. Wenn das erste Argument ein Array oder der Name einer globalen Array-Variable ist, können Sie den Wert einer Array-Variable festlegen, indem Sie ihren Index (oder Indizes für mehrdimensionale Arrays) als drittes Argument angeben.

Nicht alle Elemente in einem Array müssen vom gleichen Typ sein. Sie können beispielsweise ein Array erstellen, das ein Datum, eine Ganzzahl und eine Zeichenfolge enthält. Sie können sogar Arrays innerhalb anderer Arrays erstellen.

Dieses Beispiel erstellt ein Array mit drei Variablen unterschiedlichen Typs, wobei jeder Eintrag das aktuelle Datum und die aktuelle Uhrzeit darstellt:

<trans>
$right_now = Now();
Set($now, $right_now, 0);
Set($now, Long($right_now), 1);
Set($now, String($right_now), 2);
</trans>

Da Arrays nullindiziert sind, befindet sich das erste Element am Index 0 und das letzte Element am Index (Größe-1). Um Daten an ein Array anzuhängen, übergeben Sie entweder einen negativen Indexwert oder die Größe des Arrays (Length($arr)). Das Setzen eines Elements mit einem Index, der größer als die Größe des Arrays ist, führt zu einem Index-Out-of-Range-Fehler. Das Setzen von Nicht-Array-Datenelementen kann auch mit dem $de_name Syntax.

Hier sind Beispiele zum Festlegen von Werten in einem Array:

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

// Another way to set the n:th entry of an array
Set($arr, "value", Length($arr));

// Sets the value to a new variable at the end of the array
Set($arr, "value", -1);

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

Tipp

Weitere Syntax, die zum Definieren von Werten in einem Array verwendet werden kann, finden Sie unter Wörterbuch- und Array-Funktionen.

Auf ein Array zugreifen

Sie können auf die Elemente eines Arrays zugreifen, indem Sie Get Methode mit dieser Syntax:

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

Dies gibt den Wert der globalen Variable mit dem angegebenen Namen zurück. Wenn das erste Argument ein Array oder der Name einer globalen Array-Variable ist, können Sie eine bestimmte Variable erhalten, indem Sie ihren Index (oder Indizes für ein mehrdimensionales Array wie einen Datensatz) als zweites Argument angeben.

Einige Funktionen haben Array-Rückgabewerte. Beispielsweise SelectNodesFromXMLAny gibt die Ergebnisse einer XPath Abfrage als Array zurück. Ein weiteres Beispiel: DbExecute gibt einen Datensatz als zweidimensionales Array zurück: zuerst Zeilen, dann Spalten. Dies gibt die ausgewählten Daten als Array von Arrays zurück (die die ausgewählten Zeilen und Spalten darstellen):

<trans>
$resultSet = DbExecute("<TAG>endpoint:database/My Database</TAG>", "select Result from SimpleCalculatorResults");
$firstRow = Get($resultSet, 0);
$thirdColumnOfSecondRow = $resultSet[2][3];
$secondColumnOfThirdRow = Get($resultSet, 3, 2);
</trans>

Arrays sind nullindiziert. Um auf die n-te Variable eines Arrays zuzugreifen, das aufgerufen wird "arr", verwenden Get("arr", n-1). Bei mehrdimensionalen Arrays müssen Sie alle Indizes angeben. Für den Zugriff auf die n:th Spalte der m:th Zeile in einem Array namens ResultSet du würdest verwenden Get("ResultSet", m-1, n-1). Der Versuch, eine Variable über das Ende des Arrays hinaus abzurufen, führt zu einem Array-Außer-Bereich-Fehler.

Dies sind Beispiele für das Abrufen von Werten aus einem Array:

// Return the third array variable
Get($arr, 2);

// Another way to return the third array variable
Get("arr", 2);

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

Dieses Beispiel zeigt, wie Sie zunächst ein Script erstellen, das ein Array erstellt und zurückgibt. Der zweite Block zeigt, wie dieses Script ausgeführt und der zurückgegebene Wert einer Variablen zugewiesen wird.

Build Array
<trans>
// Script to build and return an array
a = Array();
a[Length(a)] = "A";
a[Length(a)] = "B";
a[Length(a)] = "C";
a;
</trans>
Call Script to Get Array
<trans>
// Call the script to retrieve the array
$Arr = RunScript("<TAG>script:Build Array</TAG>");
</trans>

Tipp

Weitere Syntax, die zum Zugriff auf Werte in einem Array verwendet werden kann, finden Sie unter Wörterbuch- und Array-Funktionen.

Wörterbücher

In Jitterbit Script ist ein Wörterbuch ein spezieller Typ eines globalen Variablenarrays, das Key-Value Paare enthält. Die Schritte und Funktionen sind:

  1. Initialisieren Sie das Wörterbuch mit dem Dict Funktion:

    $d = Dict();
    
  2. Daten mit einem Schlüssel und einem Wert laden:

    $d['4011'] = 'Banana';
    $d['4063'] = 'Tomato';
    
  3. Überprüfen Sie, ob der Schlüssel bereits im Wörterbuch vorhanden ist, mithilfe von HasKey Funktion:

    HasKey($d,'4011'); // Returns true
    

    Im Beispiel haben wir bereits den Schlüssel '4011' geladen, also HasKey würde zurückkehren true.

    HasKey($d,'4089'); // Returns false
    

    Wenn der Schlüssel nicht bereits geladen wurde, z. B. „4089“, HasKey würde zurückkehren false.

  4. Suchen Sie den Wert im Wörterbuch, indem Sie den Schlüssel übergeben und den Wert zurückerhalten:

    $d['4011']; // Returns 'Banana'
    

    In diesem Beispiel wäre der zurückgegebene Wert Banana.

Beachten Sie bei Wörterbüchern die folgenden Merkmale:

  • Der Umfang der Wörterbücher ist auf den Workflow beschränkt. Wenn beispielsweise eine Operation lädt $MyDict Bei 10.000 Datensätzen werden nur die Vorgänge berücksichtigt, die über Pfade vom Typ „bei Erfolg“ oder „bei Fehler“ verknüpft sind, oder mit RunOperation, haben Zugriff auf dieses Wörterbuch. Wenn eine Operation jedoch chunking und Threading verwendet und eine Transformation aufweist, die ein Wörterbuch füllt, ist das Wörterbuch inkonsistent. Dies liegt daran, dass Harmony die von mehreren Operation den Variablen zugewiesenen Werte nicht zu einem einzigen Wertesatz zusammenfasst. Dies gilt für alle globalen Variablen oder Arrays. Verwenden Sie die Standardwerte für chunking/Threading, wenn Sie eine Operation erstellen, die Wörterbücher füllt.
  • Wörterbücher sind schnell darin, Schlüssel zu finden und Werte zurückzugeben, da sie eine binäre Suche verwenden. Ein Schlüssel kann normalerweise nach fünf bis sechs Versuchen gefunden werden. Vergleichen Sie diese Art der Suche dagegen mit dem Durchlaufen eines Arrays mit 10.000 Datensätzen, um einen Schlüssel zu finden.
  • Wörterbücher werden nicht in den Speicher geschrieben und haben daher keinen wesentlichen Einfluss auf den für die Verarbeitung verfügbaren Serverspeicher.