Script-Elemente und Syntax

Die Elemente und die Syntax der Automation Engine scripting language sind konsistent mit anderen Scriptsprachen, die Sie kennen. Schreiben Sie Anweisungen mit Befehlen, Funktionen und Variablen und fügen Sie Kommentare hinzu. Sie können die Automation Engine scripting language mit Befehlen Ihrer Zielbetriebssysteme und Anwendungen kombinieren. Siehe Mit dem Script-Editor arbeiten für Informationen zur Syntaxhervorhebung und -vervollständigung.

Diese Seite beinhaltet Folgendes:

Script-Anweisungen

Anweisungen sind das wesentliche Element in Scripts und enthalten in der Regel ein Kommando.

Richtig formatierte Anweisungen werden im Script-Editor blau dargestellt.

Beispiel

Die folgende Script-Anweisung zeigt den Text "Automation Engine" im Aktivierungsreport an, wenn das Objekt verarbeitet wird:

:PRINT "Automation Engine"

Wenn Sie eine Anweisung in der nächsten Zeile fortsetzen müssen, schreiben Sie einen Unterstrich am Ende der Zeile und beginnen Sie die nächste Zeile mit einem Doppelpunkt.

Beispiel

Die folgende Anweisung wird als einzelne Script-Anweisung interpretiert:

:SCRIPT LINE SCRIPT LINE SCRIPT LINE SCRIPT LINE SCRIPT LINE_

:CONTINUED SCRIPT LINE

Script-Funktionen

Funktionen ermöglichen es Ihnen, Daten im System zu manipulieren. Script-Funktionen liefern Rückgabewerte, was sie von Script-Anweisungen unterscheidet.

Befolgen Sie diese Regeln, wenn Sie Script-Funktionen verwenden:

Richtig formatierte Funktionen werden im Script-Editor rot dargestellt.

Syntax

Die folgende Anweisung definiert den Wert einer Variablen als die Summe zweier Zahlen.

:SET&SUM# = ADD(2,2)

Parameter

Viele Script-Funktionen können alleine verwendet werden, aber es gibt auch Funktionen, die nur in Kombination mit anderen Script-Elementen funktionieren bzw. Sinn ergeben.

Beispiel

Die Script-Funktion PREP_PROCESS_FILE erzeugt eine Datensequenz aus dem Inhalt einer Textdatei. Der Rückgabewert ist ein Handle. Die Funktion GET_PROCESS_LINE liest die einzelnen Zeilen der Textdatei, benötigt jedoch den mit PREP_PROCESS_FILE abgerufenen Handle.

Rückgabewerte von Funktionen

Rückgabewerte können einzelne Zeichen, Strings oder Zahlen sein. Die Zahlen werden immer mit 16 Ziffern und führenden Nullen geliefert. Die Nullen haben keinen Einfluss auf die weitere Verarbeitung der Zahl (z. B. in arithmetische Operationen).

Syntax

Die folgenden Script-Zeilen setzen eine Script-Variable auf eine Summe von zwei Werten und zeigen die resultierende Zahl an.

:SET&SUM# = ADD(2,2)

:PRINT&SUM#

Parameter

Dies ist das Ergebnis, das angezeigt wird:

0000000000000004

Tipp: Sie können eine Script-Funktion verwenden, um führende Nullen in der Ausgabe zu entfernen. Weitere Informationen finden Sie unter FORMAT.

Rückgabewerte können auch eine Fehlernummer enthalten. Weitere Informationen zu Rückgabewerten finden Sie in der Beschreibung des jeweiligen Script-Elements unter Automation Engine Script-Verweis und Fehlerbehandlung in Scripts.

Script-Variablen

Mit Script-Variablen können Sie Werte in Scripts definieren und übergeben. Script-Variablen können Zahlen, Strings, Datumsreferenzen oder Uhrzeiten enthalten. Der Wert der Variablen gilt bis das Script verarbeitet wurde. Richtig formatierte Variablen werden im Script-Editor violett dargestellt.

Definieren und Setzen von Variablen in Scripts

Verwenden Sie die folgenden Script-Anweisungen, um Variablen in Ihren Scripts zu deklarieren und ihnen Werte zuzuweisen:

Hinweis: Der Wert, den Sie einer Script-Variablen zuweisen, ist nicht begrenzt. Einige Script-Elemente, wie z. B. :ADD_COMMENT, kürzen den Wert, weil das Zielfeld ein Limit hat.

Weitere Informationen:Script-Elemente für Variablen und VARA-Objekte.

Beispiele

Die folgende Anweisung deklariert eine Variable als String.

:DEFINE &FILE#, string

Die folgenden Script-Zeilen deklarieren die Variable als String und definieren den Text in diesem String.

:DEFINE &FILE#, string
:
SET &FILE# = "temp.txt"

:DEFINE &STRING#, string
:DEFINE &SIGNED#, signed
:
DEFINE &UNSIGNED#, unsigned

:DEFINE &FLOAT#, float

:SET &STRING#= "1234abc"
:SET &SIGNED#= -5
:
SET &UNSIGNED#= 24
:SET &FLOAT#= -0.50

Script-Variablennamen

Befolgen Sie die Regeln für die Benennung von Variablen, wenn Sie Script-Variablen definieren. Weitere Informationen finden Sie unter Variablennamen.

Variablennamen sind kontextspezifisch, sodass Sie mehrere Variablen in verschiedenen Objekten mit gleichem Namen definieren können. Die Voraussetzung dafür ist, dass sie in separaten Kontexten verwendet werden. Variablen können nicht die gleichen Anfangsbuchstaben innerhalb desselben Kontextes verwenden.

Tipp: Beenden Sie Variablennamen mit einem Hash-Zeichen (#), um den Namen zu begrenzen und Probleme mit ähnlichen Variablennamen zu vermeiden. Beispielsweise können die Variablen &VALUE# und &VALUES# im gleichen Kontext verwendet werden. Dies ist mit &VALUE und &VALUES nicht möglich.

Arrays

Verwenden Sie Arrays, um mehrere verschiedene Werte in einer Variablen zu speichern. Deklarieren Sie eine Variable als Array, indem Sie Array-Parameter in die :DEFINE-Anweisung aufnehmen. Auf die einzelnen Werte im Array kann über einen Index zugegriffen werden.

Verwenden Sie die Script-Anweisung ON_ERROR, um die Fehlerbehandlung in das Script einzubinden, wenn das Array einen ungültigen Index verwendet. Wenn das Script einen ungültigen Index enthält, wird standardmäßig eine Fehlermeldung sowohl in das Log als auch in den ACT-Report geschrieben, aber die Verarbeitung wird nicht angehalten. Weitere Informationen finden Sie unter :ON_ERROR.

Beispiel

Das folgende Script deklariert eine Variable als Array mit 10 Werten und gibt den Wert des Index 5 an:

:DEFINE&ARR#, unsigned, 10

:SET&ARR#[5] = 20

Hinweis: Noch nicht initialisierte Array-Felder zeigen den Standardwert "" an, wenn der Datentyp String ist, oder 0 für numerische Datentypen.

Tipps:

Variablen in Scripts verwenden

Neben Script-Variablen können Sie in Scripts verschiedene Arten von Variablen aufrufen, die in der Automation Engine verwendet werden, um in den Variablen gespeicherte Werte abzurufen und zu speichern. Mit verschiedenen Script-Elementen können Sie verschiedene Variablentypen abrufen und ändern. Weitere Informationen finden Sie unter Script-Elemente für Variablen und VARA-Objekte.

VARA-Objekte

Mit mehreren Script-Elementen können Sie speziell mit VARA-Objekten arbeiten. Geben Sie den Namen des VARA-Objekts in den Parametern des Script-Elements an.

Wichtig! Der Script-Editor unterstützt die Bearbeitung von VARA-Objekten nicht, die beliebige Binärwerte enthalten (z.B. 0x00-0x08, 0x0b, 0x0c, 0x0e-0x19). Wenn Sie versuchen, einen dieser Werte zu speichern, wird das Zeichen ? (0x3f) stattdessen immer gespeichert.

Tipp: Sie können festlegen, was geschehen soll, wenn der Schlüssel, auf den sich das Script bezieht, im angegebenen VARA-Objekt nicht verfügbar ist. Weitere Informationen finden Sie unter Script-Zugriff.

Weitere Informationen:Variablen und VARA-Objekte

Script-Parameter

Schreiben Sie die Parameter für Script-Elemente in Klammern. Verwenden Sie Kommas, um Parameter zu trennen. Script-Elemente werden in der Reihenfolge ausgewertet, in der sie aufgelistet sind.

Beispiel

In der folgenden Script-Zeile sind die Parameter für die Funktion in Klammern eingeschlossen.

:SET&SUM# = ADD(2,2)

Hinweise:

Beispiel

Die folgende Funktion erzeugt ein Objekt und hat verwendet zwei erforderliche Parameter (Objekttyp und Objektname) sowie zwei optionale Parameter (Ordner und Titel).

CREATE_OBJECT (Objekttyp, Objektname, [Ordner], [Titel] )

Wenn Sie keinen Wert für einen optionalen Parameter angeben möchten, schreiben Sie nichts oder ein Leerzeichen zwischen die Kommas.

Beispiel

Die folgende Anweisung gibt keinen Ordner an, da zwischen dem zweiten und dritten Komma kein Zeichen vorhanden ist.

:SET&RET# = CREATE_OBJECT("CALE","FIRM.CALENDAR2018",,"Unternehmenskalender für 2018")

Wenn Sie Werte für alle erforderlichen Parameter angeben, aber keine Werte für die restlichen optionalen Parameter aufnehmen möchten, müssen Sie für die restlichen optionalen Parameter keine Kommas einfügen.

Beispiel

Die folgende Anweisung erstellt ein Objekt ohne Angabe eines Ordners oder Titels, und Sie können die Klammern nach dem letzten erforderlichen Parameter einfach schließen.

:SET&RET# = CREATE_OBJECT("CALE","FIRM.CALENDAR2018")

Schlüsselwortparameter

Sie müssen Schlüsselwortparameter genau wie angegeben schreiben. In unserer Dokumentation sind die Schlüsselwortparameter fett ausgezeichnet. Wie bei den Parametern werden optionale Schlüsselwörter in eckige Klammern gesetzt.

Beispiel

In der folgenden Funktion ist VERSION ein Schlüsselwort.

SYS_INFO (Komponente,VERSION, [ Typ ], [Komponentenname])

Optionale Schlüsselwörter werden in eckige Klammern gesetzt.

Beispiel

In der folgenden Script-Funktion ist FORCED ein optionales Schlüsselwort.

MODIFY_TASK (RunID, Status [, FORCED])

Einige Schlüsselwortparameter können in Lang- oder Kurzform geschrieben werden. In diesem Fall wird der Schlüsselwortparameter mit dem optionalen Text für seinen langen Namen in [ ] Klammern dokumentiert.

Beispiel

Der Schlüsselwortparameter STR_SUBSTITUTE_VAR ist als STR_SUB[STITUTE]_VAR dokumentiert. Sie können STR_SUBSTITUTE_VAR oder STR_SUB_VAR schreiben.

Script-Literale

String-Literale sind Strings, die in einfachen (') oder doppelten (") Anführungszeichen geschrieben sind. Sie können jeden beliebigen String als Literal schreiben, z.B. um einen bestimmten Text zu drucken.

Ein Script-Literal kann auch Script-Variablen enthalten, die durch ihre Werte ersetzt werden, wenn die Script-Zeile, die das Script-Literal enthält, verarbeitet wird. Die folgenden Scripts rufen die Systemzeit ab und geben den String Zeit, gefolgt von der Systemzeit aus:

:SET &TIME# = SYS_TIME("HH:MM:SS")
:
PRINT "Time &TIME#"

Ausgabe:

Zeit 10:30:05

##<Nummer> ist eine reservierte Kombination. Wenn Sie diesen String in einem Script-Literal verwenden, wird der Text in der Meldung , deren Nummer unter <Nummer> festgelegt ist, gespeichert.

Die folgende Anweisung zeigt eine Meldung an:

:PRINT "##1800" oder :PRINT ##1800

Dies ist die angezeigte Meldung:

2011-06-15 13:01:51 - U0020408 ENDED_NOT_OK  - aborted.|

Wichtig! Der String <![[ ]]> ergibt einen Fehler, wenn Sie diese in Script-Literalen verwenden und Sie können das Objekt nicht speichern. Wenn Sie diesen String verwenden müssen, befolgen Sie die nachstehenden Schritte zur Vermeidung dieses Fehlers:

Objektnamen

AE-Namen müssen nicht unter einfache oder doppelte Anführungszeichen gesetzt werden, es sei denn, sie beginnen mit einer Zahl. Schreiben Sie die folgenden AE-Namen ohne Anführungszeichen, wenn sie nicht mit einer Zahl beginnen:

Hinweise: Verwenden Sie Anführungszeichen, wenn der AE-Name mit einer Zahl beginnt.

Strings per Script bearbeiten

Die Automation Engine-Scriptsprache stellt verschiedene Script-Elemente zur Verfügung, mit denen Sie Strings bearbeiten können. Sie können Strings verketten, Teile von Strings abrufen oder entfernen und alle oder Teile von Strings ersetzen. Weitere Informationen finden Sie unter Script-Elemente zur Bearbeitung von Strings.

Kommentare

Jede Zeile, die mit einem Ausrufezeichen beginnt, wird als Kommentar interpretiert und hat keinen Einfluss auf die Verarbeitung. Verwenden Sie Kommentare, um andere Benutzer darüber zu informieren, was verschiedene Teile Ihres Scripts bewirken, und erleichtern Sie die spätere Wartung.

Beispiel

!Ich kann hier irgendetwas schreiben

Richtig formatierte Kommentare werden im Script-Editor grün dargestellt.

Datenzeilen und Job Control Language

(Nur Jobobjekte) Zeilen, die weder mit einem Ausrufezeichen (!) noch mit einem Doppelpunkt (:) beginnen, werden als Datenzeilen interpretiert. Datenzeilen enthalten Kommandos in der Job Control Language (JCL) des Zielsystems. Wenn Sie JCL einschließen, vergewissern Sie sich, die Kommandos und die Syntax der JCL des Zielsystems zu verwenden, da diese dort interpretiert werden. Wenn ein Script mit JCL verarbeitet wird, wird die JCL an den Agenten gesendet und dort ausgeführt.

Sie können auch eine Script-Anweisung verwenden, um eine Script-Zeile explizit als Datenzeile zu deklarieren. Weitere Informationen finden Sie unter :DATA.

Jobs für Enterprise Business Solutions (PeopleSoft, SAP und Siebel), beinhalten einige spezielle Funktionen. Daher bietet das Automation Engine scripting language spezifische JCL-Elemente für diese Systeme. Weitere Informationen finden Sie unter Job Control Language – Script-Referenz.

Beispiel

Die folgende Datenzeile verwendet einen Windows-Befehl, um eine Datei in ein Verzeichnis zu kopieren.

copy test.txt c:\temp

Wenn eine Datenzeile mit einem Doppelpunkt (:) beginnt, müssen Sie sie explizit mit der Script-Anweisung :DATA als Datenzeile deklarieren.

Beispiel

Die folgende Datenzeile verwendet den gleichen Windows-Befehl wie im obigen Beispiel, ist aber explizit deklariert.

:DATAcopy test.text c:\temp

Hinweis: Wenn Sie eine Variable einbinden und Ihre Datenzeile ein kaufmännisches Und-Zeichen vor der Variablen benötigt, stellen Sie sicher, dass Sie beide kaufmännischen Und-Zeichen schreiben. Wenn das Script verarbeitet wird, wird die Script-Variable zusammen mit dem Und-Zeichen in ihrem Namen durch den Wert ersetzt, der der Variablen zugewiesen ist. Wenn Sie ein Und-Zeichen verwenden, ohne einen gültigen Variablennamen danach anzuführen, bleibt die Datenzeile unverändert.

Siehe auch:

seealso

Scripting

Scripts schreiben

Script-Elemente, sortiert nach Zweck

Alphabetische Liste der Script-Anweisungen und -Funktionen