Script-Verarbeitung
Scripts werden beim Aktivieren oder Starten des Objekts verarbeitet. Die Zeit, zu der das Script verarbeitet wird, hängt von den Objektattributen ab. Die Reihenfolge, in der Scripts in einem Objekt verarbeitet werden, hängt davon ab, auf welchen Script-Seiten sich die Scripts befinden.
Dieses Thema beinhaltet Folgendes:
Ausführungsphasen
Scripts werden bei der Generierung der Aufgabe verarbeitet. Es ist wichtig, dass Sie die Ausführungsphasen verstehen, die eine Aufgabe durchläuft. Die Aufgabe wird aktiviert, generiert und schließlich ausgeführt. Aufgaben können sofort nach der Aktivierung oder später generiert werden. Die Objektdefinition und Einstellungen wie die Terminplanung bestimmen, wann die Aufgabe generiert wird. Weitere Informationen finden Sie unter Ausführungsphasen.
Zeitpunkt der Verarbeitung
Die folgenden Optionen in den Attributen des Objekts bestimmen, wann die Aufgabe generiert und das Script verarbeitet wird:
- Generieren zur Aktivierungszeit: Das Script wird sofort verarbeitet, wenn das Objekt aktiviert wird.
- Generieren zur Laufzeit: Das Script wird verarbeitet, wenn das Objekt ausgeführt wird.
Beispiel
Das folgende Script verwendet eine Funktion, um den Wert einer Variable auf das aktuelle Datum und die aktuelle Uhrzeit einzustellen:
:SET &CURRENTTIME# = SYS_TIME()
Das tatsächliche Datum und die tatsächliche Uhrzeit, die das Script zurückgibt, hängen vom Zeitpunkt ab, zu dem die Aufgabe generiert wird. Angenommen, Sie haben zwei Aufgaben, die unterschiedlich konfiguriert sind:
-
Aufgabe A ist konfiguriert, um zur Aktivierungszeit generiert zu werden. Der Wert der Variable wird sofort nach der Aktivierung gesetzt.
-
Aufgabe B ist konfiguriert, um zur Laufzeit generiert zu werden. Die Aufgabe befindet sich in einem Workflow, der mehrere Vorgängeraufgaben vor Aufgabe B hat. Aufgabe B wird generiert, wenn die Vorgängeraufgaben abgeschlossen sind. Der Wert der Variable wird bei der Generierung der Aufgabe auf die aktuelle Zeit gesetzt.
Weitere Informationen über Objektattribute, die die Generierung betreffen, finden Sie auf der Seite Seite „Attribute“.
Wichtig! Wenn Sie das AWI nach dem Starten eines Objekts verlassen, das bei der Aktivierung für die Generierung konfiguriert ist, ist die Script-Generierung möglicherweise noch nicht abgeschlossen. Wenn das Script Elemente enthält, die Aktionen erfordern, wie z. B. :READ-Statements, erhalten Sie möglicherweise nicht die gewünschten Ergebnisse.
Reihenfolge der Verarbeitung
Abhängig vom Objekttyp kann die Aufgabe mehr als eine Script-Seite haben, auf der Sie Scripts schreiben können. Die Scripts auf den Script-Seiten werden in der folgenden Reihenfolge verarbeitet:
-
Seite Pre-Script und Seite Script
- Seite Child-Post-Script
- Seite Post-Script
Weitere Informationen finden Sie unter Seiten „Script“.
Verarbeitung in Scripts
Die Automation Engine verarbeitet Scripts Zeile für Zeile. Die Ergebnisse von ausgeführten Script-Sprachmitteln (z. B. der Wert einer gesetzten Variable) werden regelmäßig in die AE-Datenbank geschrieben. Dieser Prozess wird als Commit bezeichnet. Andere Scripts können erst nach der Übertragung der Werte auf diese neuen oder geänderten Werte zugreifen.
Wenn Scripts länger laufen, führt das Automation Engine automatisch alle 5 Sekunden eine Übertragung durch. Darüber hinaus führen einige Script-Sprachmittel, die erfordern, dass Prozesse abgeschlossen werden müssen, ebenfalls zu Commits.
Beispiele
Einige Script-Sprachmittel starten oder stoppen Aufgaben und warten darauf, dass die RunID der Aufgabe zurückgegeben wird, was zu einer Übertragung führt. Die folgenden Funktionen sind Beispiele für solche Script-Sprachmittel:
Einige Script-Statements erfordern eine Benutzerinteraktion. Das System wartet auf die Reaktion des Benutzers, so dass auch Script-Statements wie die folgenden zu einem Commit führen:
Das Script-Statement :WAIT beauftragt das System eine bestimmte Zeit abzuwarten und führt ebenfalls zu einem Commit.
Tipp: Sie können :WAIT verwenden, um ein Commit zu erzwingen.
Siehe auch: