Script-Verarbeitung

Ausführbare Objekte durchlaufen vier Ausführungsphasen. Die zweite ist die Generierungsphase. Scripts werden während dieser Phase erstellt. Die Zeit, zu der das Script generiert wird, hängt von den Objektattributen ab. Die Reihenfolge, in der Scripts in einem Objekt verarbeitet werden, hängt davon ab, auf welchen Prozess-Seiten sich die Scripts befinden.

Diese Seite beinhaltet Folgendes:

Ausführungsphasen

Um die Objektattribute richtig zu konfigurieren, sodass sich die Script-Elemente wie erwartet verhalten, müssen Sie die Stufen der Ausführung verstehen, die eine Aufgabe durchläuft. Die Aufgabe wird aktiviert, generiert, verarbeitet (d. h. auf dem Zielcomputer ausgeführt) und schließlich abgeschlossen.

Die folgenden Themen beschreiben die Ausführungsschritte und die einzelnen Schritte, die in jeder Phase ausgeführt werden. Lesen Sie sie, bevor Sie mit dem Automation Engine scripting language beginnen:

Zeitpunkt der Verarbeitung

Die Zeit, zu der das Script generiert wird, hängt vom Attribut Aufgabe generieren zur ab, das Sie auf der Seite Attribute des Objekts definieren. Sie haben dafür zwei Möglichkeiten:

  • Aufgabe generieren zur: Aktivierungszeit

    Das Script wird zu Beginn der Generierungsphase generiert.

  • Aufgabe generieren: zur Laufzeit

    Das Script wird viel später in der Generierungsphase generiert.

Sie konfigurieren diese Eigenschaft auf der Seite Attribute des Objekts. Weitere Informationen finden Sie auf der Seite Seite "Attribute".

Wichtig! Lesen Sie auch Generierung zum Aktivierungszeitpunkt oder zur Laufzeit, wo detailliert beschrieben ist, was die beiden Optionen bewirken.

Beispiel

Das folgende Script verwendet eine Funktion, um den Wert einer Variablen 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 Variablen 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 Variablen wird bei der Generierung der Aufgabe auf die aktuelle Zeit gesetzt.

Wichtig! Wenn Sie das AWI nach dem Starten eines Objekts verlassen, das für die Generierung bei der Aktivierung konfiguriert ist, ist die Script-Generierung möglicherweise noch nicht abgeschlossen. Wenn das Script Elemente enthält, die Aktionen erfordern, wie z. B. eine :READ-Anweisung, erhalten Sie möglicherweise nicht die gewünschten Ergebnisse. 

Reihenfolge der Verarbeitung

Abhängig vom Objekttyp kann die Aufgabe mehr als eine Prozess-Seite haben, auf der Sie Scripts schreiben können. Die Scripts auf den Prozess-Seiten werden in der folgenden Reihenfolge verarbeitet:

  1. Seite Pre-Prozess und Seite Prozess
  2. Seite Child-Post-Prozess
  3. Seite Post-Prozess

Weitere Informationen finden Sie unter Prozess-Seiten.

Verarbeitung in Scripts

Die Automation Engine verarbeitet Scripts Zeile für Zeile. Die Ergebnisse von ausgeführten Script-Elementen (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 dem Commit der Werte auf diese neuen oder geänderten Werte zugreifen.

Wenn Scripts länger laufen, führt das Automation Engine automatisch alle 5 Sekunden ein Commit durch. Darüber hinaus führen einige Script-Elemente, die erfordern, dass Prozesse abgeschlossen werden müssen, ebenfalls zu Commits.

Beispiele

Einige Script-Elemente starten oder stoppen Aufgaben und warten darauf, dass die RunID der Aufgabe zurückgegeben wird, was zu einem Commit führt. Die folgenden Funktionen sind Beispiele für solche Script-Elemente:

Einige Script-Anweisungen erfordern eine Interaktion mit dem Benutzer. Das System wartet auf die Reaktion des Benutzers, sodass auch Script-Anweisungen wie die folgenden zu einem Commit führen:

Die Script-Anweisung :WAIT weist das System an, eine bestimmte Zeit abzuwarten und führt ebenfalls zu einem Commit.

Tipp: Verwenden Sie WAIT, um ein Commit zu erzwingen.

Siehe auch: