ACTIVATE_UC_OBJECT
Verwenden Sie die ACTIVATE_UC_OBJECT Funktion, um ein Objekt über ein Script auszuführen. Mit dieser Funktion können Sie jede Art von ausführbarem Objekt aktivieren. Mit Parametern in der Funktion können Sie festlegen, wann das Objekt ausgeführt wird und welche Variablen an das Objekt übergeben werden.
Diese Funktion umfasst mehrere Parameter, mit denen Sie Startzeiten definieren können. Wenn Sie keine Startzeit angeben, wird die neue Aufgabe sofort in die Ausführungs-Queue eingereiht. Wenn Sie eine Startzeit definieren, wird die Aufgabe eingeplant und hat den Status Warten auf Startzeitzeitpunkt. Sie können das Objekt auch zu einem logischen Datum aktivieren oder ein alternatives Objekt angeben, das aktiviert werden soll, wenn das aufgerufene Objekt ein Zeitlimit überschreitet.
Diese Script-Funktion gibt die RunID des aufgerufenen Objekts zurück. Parameter auf der Seite „Attribute“ des Objekts bestimmen, ob die RunID nach der Aktivierungs- oder Generierungsphase zurückgegeben wird:
- Generiere Aufgabe zur Aktivierungszeit: Die Script-Funktion gibt die RunID nach der Generierungsphase des aufgerufenen Objekts zurück
- Aufgabe zur Laufzeit generieren: Die Script-Funktion gibt die RunID bei der Objektaktivierung zurück
Mehr Informationen:
Hinweise:
- Ausführungszeit und Startzeit können zwei verschiedene Zeitpunkte sein.
- Dieses Script-Statement bewirkt, dass alle offenen Transaktionen des Scripts in die AE-Datenbank geschrieben werden. Weitere Informationen finden Sie unter Script-Verarbeitung.
- Um Endlosschleifen in der Automation Engine zu verhindern, ist die Anzahl der rekursiven Objektaktivierungen begrenzt. Der 16. Versuch, ein Objekt zu aktivieren, wird mit dem Status FAULT_OTHER abgebrochen. Die Begrenzung gilt auch für rekursive Workflow-Aktivierungen oder eine Mischung aus Workflow-Aktivierungen und Objektaktivierung.
Beispiel: Ein Workflow aktiviert ein Script, das wiederum den Workflow wieder aktiviert. Wenn die Schleife 5-mal stattfindet (3 mal 5 ist 15), wird die 16. Aktivierung abgebrochen.
Syntax
ACTIVATE_UC_OBJECT ( Object name [ , , [Logical Date] [ , [TimeZone] [ , [ Start time|Period object] [ , [ PASS_VALUES] [ , [Queue] [ , [Alias] [ , [ENABLE_PROMPTS] ] ] ] ] ] ] ])
ACTIVATE_UC_OBJECT ( Object name [ , [WAIT] [ , [Logical Date] [ , [TimeZone] [ , , [ PASS_VALUES] [ , [Queue] [ , [Alias] [ , [ENABLE_PROMPTS[, FixedTimeValue, [TERMINATE][, Executed-Object] ] ] ] ] ] ] ] ] ])
Hinweis: Sie müssen die Parameter dieser Script-Funktion in der oben angegebenen Reihenfolge schreiben. Setzen Sie Kommas, wenn Sie Parameter weglassen.
Parameter
-
ACTIVATE_UC_OBJECT
Führt das Objekt aus -
Object name
Name des aufgerufenen Objektes -
WAIT
Script-Funktion wartet, bis das Objekt beendet ist
Wichtig! Sie können den Begriff Warten nicht in Kombination mit einer Startzeit verwenden. -
Logical Date
Logisches Datum, das beim Aktivieren des Objekts verwendet werden soll
Weitere Informationen finden Sie unter Logisches Datum und reales Datum.
Format: Script-Literal oder Variable, JJMMTT oder JJJJMMTT
(Optional) Um ein anderes Format zu verwenden, geben Sie das Datumsformat an, geben Sie ein Trennzeichen (: oder ;) ein und geben Sie das Datum an. -
TimeZone
Zeitzonenobjekt, das für die Zeitstempelberechnung verwendet wird
Format: Script-Literal oder Variable -
Start time|Period object
Zeitstempel-String oder -name eines vorhandenen Periodenobjekts- Startzeitpunkt
Zeitstempel, der aus Datum und Uhrzeit besteht („YYYYY-MM-DD HH:MM:SS“)
Format: Script-Literal oder Script-Variable - Periodenobjekt
Periodenobjekt für wiederkehrende Ausführungen
Wenn Sie diesen Parameter verwenden, beginnt die Ausführung einmalig sofort. Alle nachfolgenden Ausführungen beginnen, wie in den Einstellungen des Periodenobjekts definiert.
Hinweis: Wenn Sie ein Periodenobjekt definieren, werden die Parameter Logisches Datum und Startzeit ignoriert.
- Startzeitpunkt
-
PASS_VALUES
Übergibt Objektvariablen und PromptSet-Variablen an das aufgerufene Objekt -
Queue
Hebt die Queue-Definition im aufgerufenen Objekt auf
Wenn Sie kein Queue-Objekt angeben, startet die Aufgabe automatisch in der Warteschlange, die im aufgerufenen Objekt definiert ist. - Alias
Aliase des aufgerufenen Objektes
Dieser Anzeigename wird in der Perspektive Process Monitoring und der Statistik anstelle des eigentlichen Objektnamens verwendet.
Format: AE-Name, Script-Literal oder Script-Variable
Für Aliasnamen und Objektnamen gelten die gleichen Regeln:
Maximale Länge: 200 Zeichen
Erlaubte Zeichen: A-Z, 0-9, $, @, _, -, . und # -
ENABLE_PROMPTS
Erzwingt die Anzeige des Eingabeformulars PromptSet des aktivierten Objekts im Automic Web Interface.
Hinweise:- Wenn der Benutzer nicht im Automic Web Interface eingeloggt ist, wartet das aufgerufene Objekt auf den Benutzer.
- Wenn keine PromptSet-Objekte zugeordnet sind, ist die Script-Verarbeitung nicht betroffen und das Eingabeformular wird nicht angezeigt.
-
FixedTimeValue
Maximale Laufzeit des gestarteten Objekts
Format: Script-Literal oder Script-Variable, im Format HH:MM:SS, wobei HH ein einstelliger Wert sein kann, MM und SS jedoch zweistellige Werte sein müssen
Beispiel: „1:05:07“Wenn Sie eine maximale Laufzeit definieren, müssen Sie auch mindestens eine Aktion definieren, die bei Überschreitung des Limits ausgeführt wird. Verwenden Sie dazu die Parameter TERMINATE und Execute.
-
TERMINATE
Bricht die Aufgabe ab, wenn die maximale Laufzeit (Zeitlimit) überschritten wird -
Executed-Object
Aktiviert ein anderes Objekt, wenn die maximale Laufzeit überschritten wird
Format: AE-Name, Script-Literal oder Script-Variable
Mehr Informationen:
- Logisches Datum und reales Datum
- Zeitzone (TZ)
- Periode (PERIOD)
- Variablen und VARA-Objekte
- Queues (QUEUE)
- MANDANTEN-Queue
- PromptSets (PRPT)
Rückgabewerte
Die Script-Funktion ACTIVATE_UC_OBJECT gibt die folgenden Rückgabewerte zurück:
- RunID des aktivierten Objekts bei erfolgreicher Aktivierung
- 0, wenn die Aktivierung fehlgeschlagen ist
- 20380, wenn das Objekt mit dem :EXIT Script-Statement abgebrochen wird
Tipp: Fragen Sie immer den Rückgabewert in Ihren Scripts ab, damit Sie die Fehlerursachen analysieren können. Weitere Informationen finden Sie hier: Fehlerbehandlung in Scripts
Die Script-Funktion gibt in den folgenden Situationen die RunID des Objekts zurück:
-
Die Objektaktivierung war erfolgreich
Dies ist der Normalfall.
-
Der Startpunkt liegt in der Vergangenheit
Die Ausführung wird im Report als ENDED_TIMEOUT - Startzeitüberschreitung aufgeführt.
Die Script-Funktion gibt in den folgenden Situationen 0 zurück:
-
Objekt existiert nicht
Das Objekt konnte nicht gefunden werden, sodass eine Aktivierung nicht möglich ist.
-
Keine Ausführungsrechte für Objekte
Der Benutzer, der das Objekt aktiviert hat, ist nicht berechtigt, das Objekt auszuführen.
-
Objektaktivierung abgebrochen
Die Aufgabe wurde manuell oder durch eine andere Aufgabe abgebrochen.
Das Objektattribut Aufgabe zur Laufzeit oder zum Aktivierungszeitpunkt erstellen hat Auswirkungen auf Rückgabewerte. Weitere Informationen finden Sie unter Generierung zum Aktivierungszeitpunkt oder zur Laufzeit.
Wenn das Objekt so konfiguriert ist, dass es bei der Aktivierung erzeugt wird, gibt die Script-Funktion in den folgenden Situationen die RunID des Objekts zurück:
-
:EXIT 0
Diese Anweisung bricht die Script-Verarbeitung nicht ab, sie beendet sie. Es wird nicht als Fehler behandelt.
-
:STOPNOMSG
Diese Anweisung bricht die Script-Verarbeitung nicht ab, sie beendet sie. Es wird nicht als Fehler behandelt.
Die Script-Funktion gibt in den folgenden Situationen 0 zurück:
-
Scripting-Fehler im Objekt
Die Objektaktivierung wurde aufgrund von Script-Fehlern abgebrochen.
-
:EXIT <>0
Dieses Statement bricht die Aktivierung des Objekts ab.
-
:STOP MSG
Dieses Statement bricht die Aktivierung des Objekts ab.
Wenn das Objekt so konfiguriert ist, dass es zur Laufzeit generiert wird, findet die Script-Ausführung nicht während des Aktivierungsprozesses statt. Die Script-Funktion ACTIVATE_UC_OBJECT kann auftretende Fehler nicht identifizieren. In den folgenden Fällen gibt die Funktion die RunID zurück:
-
:EXIT 0
-
:EXIT <>0
-
:STOP MSG
-
:STOP NOMSG
Beispiele
Das folgende Beispiel aktiviert einen Job namens Status, überprüft den Rückgabewert und sendet eine E-Mail mit dem Fehlercode und der Fehlermeldung, wenn der Job nicht aktiviert wird:
:SET &ACTOBJ# = ACTIVATE_UC_OBJECT(STATUS)
:IF &ACTOBJ# = "0"
: SET &ERRNR# = SYS_LAST_ERR_NR()
: SET &ERRINS# =
SYS_LAST_ERR_INS()
: SET &MESSAGE# = GET_MSG_TXT(&ERRNR#,&ERRINS#)
: SET &RET# = SEND_MAIL("john.smith@automic.com",,&MESSAGE#, "Please check. Thank
you!")
:ENDIF
Das folgende Beispiel aktiviert den Job mit einem logischen Datum:
:SET &ACTOBJ# = ACTIVATE_UC_OBJECT(STATUS,,"DD.MM.YY:01.12.15")
Im folgenden Beispiel läuft das Workflow-Objekt MM.WEEK zu einem bestimmten Datum und einer bestimmten Uhrzeit:
:SET &ACTOBJ# = ACTIVATE_UC_OBJECT(MM.WEEK,,, "MEZ", "2018-07-15 18:00:00")
Im folgenden Beispiel werden Objektvariablen an den Job MM.END.PROCESSING vererbt:
:SET &ACTOBJ# = ACTIVATE_UC_OBJECT("MM.END.PROCESSING",,,,, PASS_VALUES)
Siehe auch: