Automation Engine intern > Ausführen von Objekten > Objekt- und PromptSet-Variablen

Objekt- und PromptSet-Variablen

Fast jedes ausführbare Objekt enthält eine Registerkarte namens "Variablen & Prompts". Diese ist in 2 Bereiche unterteilt: Variablen und PromptSets. In dem Bereich "Variablen" tragen Sie Variablen ein, die Sie in den Script-Registerkarten und in Attributen nutzen wollen. Bei "PromptSets" ist die Zuordnung von PromptSet-Objekten möglich, dessen Variablen ebenfalls für das Objekt zur Verfügung stehen. Die Variablen müssen nicht extra ausgelesen werden, sondern sind direkt als Script-Variablen verwendbar.

Objekt- und PromptSet Variablen stehen in allen Script-Registerkarten und in den Attributen des Objektes zur Verfügung.

In der folgenden Abbildung sehen Sie eine Objektvariable namens "&HOST#".

Im Script kann die Variable sofort genutzt werden. Das folgende Beispiel verwendet die Objektvariable, um die Verbindung zum Agenten zu trennen.

:IF SYS_HOST_ALIVE(&HOST#) = "N"
:   
SEND_MSG "ADMIN","AE","Agent &HOST# is not active!"
:
ENDIF

Die Werte von Objektvariablen können dabei mit oder ohne Hochkommata angegeben werden. Falls Sie einfache Hochkommata verwenden, muss ein einzelnes Hochkomma innerhalb des Strings doppelt vorkommen, da sonst unter Umständen ein oder mehrere Zeichen entfernt werden. Ein doppeltes Hochkomma dagegen wird immer als normales Zeichen behandelt und nicht entfernt.

Beispiele: 

Eintrag in der Registerkarte Variablen & Prompts

Tatsächlicher Wert

string1234

string1234

'string1234'

string1234

"string1234"

"string1234"

string'1234

string'1234

'string'1234' string
'string''1234' string'1234

Objekt- und PromptSet-Variablen haben eine weitere Besonderheit. Sie können vom übergeordneten Objekt geerbt werden. Den Aufgaben eines Schedules ist es beispielsweise möglich, die Objekt- und PromptSet-Variablen des Schedules zu nutzen. Die Wartung wird vereinfacht, da die Werte nicht in den einzelnen Objekten hinterlegt werden müssen.

In der Registerkarte "Variablen & Prompts" stellen Sie ein ob, und wenn ja, welche Objektvariablen geerbt werden sollen.  

Feld/Steuerelement

Beschreibung

Von Parent erben

 

Alle Werte (Standard)

Das Objekt erhält alle Objekt- und PromptSet-Variablen der übergeordneten Aufgabe.

Nur definierte Werte

Das Objekt erhält nur die Objekt- und PromptSet-Variablen der übergeordneten Aufgabe, die es selbst in der Registerkarte "Variablen & Prompts" definiert hat.

Keine Werte

Das Objekt erhält keine Objekt- und PromptSet-Variablen der übergeordneten Aufgabe.

Die Vererbung wird immer für Objekte vorgenommen, die mit ACTIVATE_UC_OBJECT und dem Parameter PASS_VALUES aktiviert werden. Dies ist unabhängig von der Einstellung "Von Parent erben"!

PromptSet- und Objekt-Variablen werden nicht geerbt, wenn die untergeordnete Aufgabe eine PromptSet-Variable mit dem selben Namen besitzt! Dieses Verhalten ist unabhängig von der Einstellung "von Parent erben".

Beachten Sie, dass geerbte Objekt- bzw. PromptSet-Variablen bestehende Objektvariablen überschreiben, wenn sie den gleichen Namen besitzen! PromptSet-Variablen hingegen werden nie übersteuert!

Um eine PromptSet-Variable mit einer Variable der übergeordneten Aufgabe zu überschreiben, gibt es allerdings folgende Möglichkeit:

Öffnen Sie die Eigenschaften der Aufgabe im Workflow oder Schedule. Wechseln Sie in die Registerkarte Variablen & Prompts und danach in den Bereich PromptSets. Tragen Sie nun den Namen der Parent-Variable als Wert für das jeweilige PromptSet-Element ein. Handelt sich beim jeweiligen PromptSet-Element nicht um ein Textfeld, so ist es notwendig, dessen Beschriftung anzuklicken.

Beachten Sie, dass die Einstellung "Von Parent erben" auf alle weiteren untergeordneten Aufgaben des Objektes großen Einfluss hat! Die Vererbung erfolgt immer von einer Aufgabe auf die direkt untergeordnete. Entscheiden Sie sich dafür, bei einem Objekt keine oder nur definierte Werte zu erben, so können auch dessen untergeordnete Aufgaben nicht mehr auf alle Variablen der "Großeltern-Objekte" zugreifen. Anhand der Beispiele weiter unten sehen Sie die Auswirkung der Einstellungen.

Objekt- und PromptSet-Variablen werden vererbt an:

Bei Letzteren handelt es sich beispielsweise um das Objekt, das in der Registerkarte "Ergebnis" in den Eigenschaften einer Workflow-Aufgabe definiert wurde.

Die Vererbung wird nicht vorgenommen für:

Zu letzterem zählt beispielsweise das Benachrichtigungs-Objekt, das als Warnung automatisch vor dem Ablauf des Gültigkeitsdatums eines Kalenders gestartet wird.

PromptSet- und Objekt-Variablen können auch dazu verwendet werden, um bestimmte Objektattribute zu setzen, ohne :PUT_ATT verwenden zu müssen.

Die Script-Anweisung :PSET erstellt für die Dauer der Ausführung einen neuen Eintrag in der Registerkarte "Variablen & Prompts", falls die Objektvariable noch nicht existiert. Ist eine Objektvariable mit dem gleichen Namen bereits vorhanden, wird ihr Wert durch den neuen überschrieben.
Wird die Objektvariable durch die Scriptsprachmittel :SET, :RSET oder :READ verändert, steht der Wert, der als letztes zugewiesen wurde, im Objekt zur Verfügung (In den Registerkarten: Script, PostScript, Child PostScript). Eine explizite Übernahme des Wertes durch das Scriptsprachmittel :RSET z.B. an die PostScript-Registerkarte ist nicht notwendig. 

Wird eine Objektvariable mit der Script-Anweisung :PSET erzeugt, so wird diese automatisch an das übergeordnete Objekt weitergegeben. Falls das übergeordnete Objekt bereits ein Objekt oder eine PromptSet-Variable mit dem selben Namen beinhaltet, wird der Wert dieser Variable überschrieben. Nachfolgende Aufgaben des Parents können dann auf diese Variable zugreifen.

Beim Wiederanlauf eines Objektes werden für Objektvariablen die Werte der Registerkarte "Variablen & Prompts" verwendet, sofern Objektvariablen über diese Registerkarte definiert wurden. Die Werte von bestimmten Durchführungen des Objektes haben daher im Wiederanlauf-Fall keine Bedeutung. Grund: Sollte es zu einem Fehler auf Grund der Objektvariable kommen, so kann der Wert im Objekt korrigiert werden und gilt dann auch für den Wiederanlauf.

Objekt- und PromptSet-Variablen besitzen im Gegensatz zu Script-Variablen keinen bestimmten Datentyp.Mit der Script-Funktion CONVERT haben Sie die Möglichkeit, den Variablen einen bestimmten Datentyp zuzuweisen. 

Beispiele

Beispiel 1

Ein FileTransfer wird durch einen Schedule aktiviert. Sie besitzen die folgenden Objektvariablen:

Schedule:

FileTransfer:

Das Script des FileTransfers greift auf die Variablen &DATEI#, &HOST# und &PFAD# zu. Abhängig von der Einstellung in der Registerkarte "Variablen & Prompts" des FileTransfer-Objektes ändert sich der Wert, der diesen Variablen zugewiesen wird:

Von Parent erben

Inhalte der Variablen

Erklärung

Alle Werte (Standard)

&DATEI# = Wochenabschluss.txt

Der Wert des Schedules überschreibt jenen des FileTransfers.

&HOST#  = win01

Da alle Werte des Schedules geerbt werden, kann der FileTransfer auch auf &HOST# zugreifen.

&PFAD# = C:\Temp

Diese Objektvariable gehört ohnehin zum FileTransfer.

 

Nur definierte Werte

&DATEI# = Wochenabschluss.txt

Der Wert des Schedules überschreibt jenen des FileTransfers, da er auch eine Objektvariable namens &DATEI# enthält.

&HOST#  = ""

Der Wert von &HOST# wird nicht geerbt, da keine gleichnamige Objektvariable im FileTransfer vorhanden ist.

Beachten Sie, dass die Aktivierung einer Aufgabe abgebrochen wird, wenn Sie versuchen, im Script auf eine Objektvariable zuzugreifen, die nicht vorhanden ist bzw. nicht geerbt wurde.

&PFAD# = C:\Temp

Diese Objektvariable gehört ohnehin zum FileTransfer.

 

Keine Werte

&DATEI# = Tagesergebnis.txt

Da keine Werte geerbt werden, gilt die Objektvariable des FileTransfers.

&HOST#  = ""

Der Wert von &HOST# wird nicht geerbt und steht daher auch nicht zur Verfügung.

Beachten Sie, dass die Aktivierung einer Aufgabe abgebrochen wird, wenn Sie versuchen, im Script auf eine Objektvariable zuzugreifen, die nicht vorhanden ist bzw. nicht geerbt wurde.

&PFAD# = C:\Temp

Diese Objektvariable gehört ohnehin zum FileTransfer.

Beispiel 2

Sehen wir uns nun an, wie sich die Weitergabe der Werte verhält, wenn es sich um eine Kette von Aufgaben handelt.

Ein Workflow enthält die beiden Objekte FILETRANSFER01 und PROCESSFLOW01. Zu letzterem gehören zwei Jobs. Die Wertevererbung zwischen dem Haupt-Workflow und dem FileTransfer ist genauso wie im Beispiel 1.

Workflow

Objektvariable:
&HOST# = unix01
&FOLDER# = temp

FILETRANSFER01

Objektvariable:
&HOST# = win01

PROCESSFLOW01

Objektvariable:
&HOST# = unix02

JOB02

Objektvariable:
keine

JOB03

Objektvariable:
&HOST# = unix03

Betrachten wir daher den PROCESSFLOW01 und wie seine Einstellung die beiden Jobs beeinflusst.

Beispiel 3

Folgendes Beispiel enthält die verschiedenen Kombinationen und Besonderheiten der Vererbung von Objekt und PromptSet-Variablen. 

In einem Workflow laufen 5 Aufgaben (Aufgabe 1, 2, 3, 4 und 6), die nacheinander durchgeführt werden. Aufgabe 5 wird über das Script der Aufgabe 4 aktiviert.

Der Workflow besitzt die Objektvariablen &VAR1#, &VAR2# und die PromptSet-Variablen &TEXT1#, &COMBO1#.

 

 

Siehe auch:

Datentypen von Script-Variablen

 


Automic Documentation - Tutorials - Automic Blog - Resources - Training & Services - Automic YouTube Channel - Download Center - Support

Copyright © 2016 Automic Software GmbH