:RSET
Das R in :RSET steht für Restart (Neustart). Mit der Anweisung :RSET können Sie einer Script-Variablen einen Wert oder das Ergebnis eines arithmetischen Ausdrucks zuweisen und gleichzeitig eine Objektvariable mit demselben Namen erstellen oder aktualisieren. Dadurch wird der Wert der Script-Variablen persistent, was bedeutet, dass sie wie jede andere Objektvariable abgerufen werden kann. Im Wesentlichen kombiniert :RSET die Zuweisungsfunktion von :SET mit der Funktionalität von :PUBLISH (insbesondere unter Verwendung des Gültigkeitsbereichs TASK).
Mehr Informationen:
Syntax
: RSET Script-Variable [=Wert]
Parameter
-
Script-Variable
Name der Script-Variablen, welcher der Wert zugewiesen werden soll.
Format: Script-Variable
Halten Sie die Regeln für Variablennamen ein. Weitere Informationen finden Sie unter Variablennamen. -
value
Wert, der der Script-Variablen und der Objektvariablen zugewiesen ist.
Format: Arithmetischer Ausdruck, Script-Literal, Zahl, Script-Variable oder Script-Funktion
Verwendung
Sie können die Anweisung :RSET verwenden, um Objektvariablen an den folgenden Stellen oder für die folgenden Zwecke zu generieren:
-
Auf der Prä-Prozess- oder Prozess-Seite, um sie dann auf der Seite Post-Prozess einer Objektdefinition zu verwenden. Weitere Informationen finden Sie unter Definieren der Prozessseiten in Jobs.
-
Um sie während eines Neustarts zu verwenden. Beim Neustart einer Aufgabe erbt die neu gestartete Aufgabe alle Objektvariablen aus dem Referenzlauf. Weitere Informationen finden Sie unter Aufgaben neu starten.
-
Um sie später in nachfolgenden Aufgaben mithilfe der Script-Funktion GET_PUBLISHED_VALUE zu verwenden.
-
Auf der Prozess-Seite eines Workflows, um sie an seine Child-Aufgaben zu übergeben. Damit dies funktioniert, müssen Sie Child-Aufgaben in einem Workflow so konfigurieren, dass sie Objektvariablen von der übergeordneten Aufgabe erben. Verwenden Sie in der Objektdefinition der Child-Aufgabe die Einstellung Von Parent erben auf der Seite Variablen. Speichern Sie Script-Variablen und ihre Werte im Aktivierungs-Report. Weitere Informationen zu Aktivierungs-Reports finden Sie unter Verständnis von Reports. Siehe Die Seite "Variablen" definieren.
Wichtig!
-
Beenden Sie den Variablennamen mit einem Trennzeichen, z. B. einem Hash. Dadurch werden Fehler bei der Generierung von Child-Aufgaben vermieden, bei denen die Namen der Objektvariablen und der Workflow-Aufgabe mit denselben Zeichen beginnen.
-
Wenn eine Aufgabe, die die :RSET-Anweisung zum Erstellen einer Objektvariablen verwendet, vor der Verarbeitung ihres Scripts abgebrochen wurde, ist die Objektvariable beim Neustart nicht vorhanden.
Aktivierungs-Report
In der Vergangenheit wurden die Script-Variable und ihr Wert im Aktivierungs-Report gespeichert und von dort beim Neustart wiederhergestellt. Um kompatibel zu bleiben, wird die Script-Variable weiterhin im Aktivierungs-Report gespeichert. Jeder Wert, einschließlich der Werte von Typen wie signed oder float, wird als Text gespeichert.
Die Zeile, die in den Aktivierungsreport geschrieben wird, sieht wie folgt aus:
YYYY-MM-DD HH:MM:SS - U00020206 Variable '&VAR#' wurde mit dem Wert 'VALUE' gespeichert.
Beispiel 1
Generieren Sie während der ursprünglichen Ausführung auf der Seite Prozess eine Script-Variable mit dem Namen &TODAY#, die als Objektvariable beibehalten wird. Wenn diese Aufgabe neu gestartet wird, ist die Script-Variable &TODAY# bereits vorhanden und enthält den Wert aus der ursprünglichen Ausführung.
: IF SYS_ACT_RESTART () = "N"
: RSET &TODAY# = SYS_DATE (YYMMDD)
: ENDIF
Beispiel 2
Ein Job verwendet die :RSET-Anweisung, um eine Objektvariable mit dem Namen &HOST# zu erstellen. Wenn dieser Job ausgeführt, aber abgebrochen wird, bevor sein Script generiert wurde, ist die Objektvariable &HOST# nicht vorhanden. In diesem Fall können Sie dies mit der folgenden Methode überprüfen:
: SET &HOST# = "&HOST#"
: IF &HOST# = ""
: RSET &HOST# = "UNIX01"
: ENDIF
Beispiel 3
Generieren Sie während der ursprünglichen Ausführung auf der Seite Prozess eines Jobs eine Script-Variable mit dem Namen &TODAY#, die als Objektvariable beibehalten wird.
: RSET &TODAY# = SYS_DATE (YYMMDD)
Auf der Seite Post-Prozess wird für jede Objektvariable eine Script-Variable generiert. Das bedeutet, dass Sie &TODAY# direkt verwenden oder die folgende Zeile hinzufügen können, um den aktuellen Wert direkt aus der Datenbank zu lesen:
: RSET &TODAY#
Tipp: Sie können die Script-Anweisungen :RSET und :READ verwenden, um Werte von Script-Variablen in Reports zu speichern.
Siehe auch: