Automation Engine Script-Leitfaden > Funktionelle Gliederung > Objekte aktivieren > ACTIVATE_UC_OBJECT

ACTIVATE_UC_OBJECT

Script-Funktion: Aktiviert ein Objekt.

Syntax

ACTIVATE_UC_OBJECT(Object name, [WAIT], [Logical Date], [TimeZone], [Start time | Period object], , [PASS_VALUES], [Queue], [Alias], [ENABLE_PROMPTS], [Time Limit], [TERMINATE], [Run])

Syntax

Beschreibung/Format

Objektname

Name des Objektes
Format: AE-Name, Script-Literal oder Script-Variable

WAIT

Das Schlüsselwort WAIT bewirkt, dass die Script-Funktion auf die Beendigung des Objektes wartet.

Logisches Datum

Logisches Datum, mit dem das Objekt aktiviert werden soll im Format "JJMMTT" oder "JJJJMMTT".

Format: Script-Literaloder Script-Variable

Es ist möglich, das Datum in einem anderen Datumsformat anzugeben. Geben Sie dazu zuerst das gewünschte Datumsformat, ein Trennzeichen (: oder ;) und danach das Datum an. Die Angabe des Datumsformats ist optional.

Zeitzone

Name eines Zeitzonen-Objektes.
Zeitzone, für die der Zeitstempel umgerechnet werden soll.

Format: Script-Literal oder Script-Variable

Start time | Period object

Either a valid time stamp string or the name of an existing period object.

  • Start time: A time stamp that consists of a date and time ("YYYY-MM-DD HH:MM:SS").
    Format: script literal or script variable
  • Period object: A Period object you want to specify for a recurring execution. Also see Execute Recurring.
  • The parameters Logical Date and Start time are ignored when you define a Period object.

PASS_VALUES

Das Schlüsselwort PASS_VALUES bewirkt, dass die Objektvariablen und PromptSet-Variablen an die zu startende Aufgabe vererbt werden.

Queue

Angabe eines bestimmten Queue-Objektes, das für den Start der Aufgabe verwendet werden soll.

Erfolgt keine Queue-Angabe, wird die Aufgabe automatisch in der Mandanten-Queue (CLIENT_QUEUE) neu gestartet.

Alias

Alias für das zu aktivierende Objekt. Dieser wird im Aktivitätenfenster und in der Statistik statt des Objektnamens angezeigt.
Format: AE-Name, Script-Literal oder Script-Variable

Der Alias unterliegt den selben Regeln wie Objektnamen in der AE:
Maximale Länge: 200 Zeichen
Zulässige Zeichen: A-Z, 0-9, $, @, _, . und #

ENABLE_PROMPTS

Aufruf der PromptSet-Eingabemasken des aktivierten Objektes im UserInterface

Voraussetzungen:
1) Ein Benutzer ist am UserInterface angemeldet
2) Das Sprachmittel muss sich in einem Objekt befinden, das durch diesen Benutzer gestartet wird
3) Der Benutzer muss beim Sprachmittel-Aufruf immer noch mit der selben Session-ID am UserInterface angemeldet sein.

Sind die oberen Voraussetzungen nicht erfüllt oder dem zu aktivierenden Objekt keine PromptSet-Objekte zugeordnet, so hat dies keine Auswirkung auf die weitere Ausführung des Sprachmittels. Die Eingabedialoge werden einfach nicht angezeigt.

Zeitlimit

Maximale Laufzeit des gestarteten Objektes.
Format: Script-Literal oder Script-Variable

Die Angabe muss im Zeitformat HH:MM:SS erfolgen.
MM und SS sind zweistellig anzugeben, HH kann auch einstellig sein.
Beispiel: "1:05:07"

Beachten Sie, dass dieser Parameter nur im Zusammenhang mit dem Begriff WAIT verwendet werden kann.

Wird die maximale Laufzeit definiert, so ist auch zumindest eine Aktion festzulegen, die im Überschreitungsfall durchgeführt wird. Verwenden Sie dazu die Parameter TERMINATE und Ausführen.

TERMINATE Aufgabe abbrechen, wenn die maximale Laufzeit (Zeitlimit) überschritten wird
Ausführen Objekt, welches aktiviert werden soll, wenn die maximale Laufzeit überschritten wird.
Format: AE-Name, Script-Literal oder Script-Variable.

Rückgabewerte

Laufende Nummer (RunID) des aktivierten Objektes.
"0" - Die Aktivierung war nicht erfolgreich.
"20423" - Die Aufgabe versuchte, sich selbst zu aktivieren. Das ist nicht erlaubt, weil eine Endlosschleife die Folge wäre.

Wenn das Script mit FAULT_OTHER endet, wird eine Meldung wie die folgende ins Meldungsfenster gestellt:

13.10.2015 14:08:04 - U0012112 Task 'OBJECT' (RunID '0101419720') terminated with script error.

13.10.2015 14:08:04 - U0020423 Runtime error in object 'OBJECT', line '00002': object must not activate itself (endless loop)

Kommentare

Mit der Script-Funktion ACTIVATE_UC_OBJECT können Sie ein Objekt aktivieren, das der Objektklasse der aktivierbaren Objekte angehört.

Geben Sie keinen bestimmten Startzeitpunkt an, so erfolgt die Aktivierung des Objektes sofort. Bei der Festlegung eines bestimmten Startzeitpunkteswird die Aufgabe eingeplant und erhält den Status "Wartet auf Startzeitpunkt".

Denken Sie daran, dass Aktivierungs- und Startzeitpunkt nicht übereinstimmen müssen!

Das Objekt kann zusätzlich mit einem logischen Datum aktiviert werden. Die Angabe des Datumsformats ist optional. Wird kein Datumsformat verwendet, muss das Datum in den Formaten "JJMMTT" oder "JJJJMMTT" angegeben werden. Als Trennzeichen zwischen Datumsformat und Datum sind Doppelpunkt oder Semikolon erlaubt.

Wird das Schlüsselwort WAIT verwendet, kann zusätzlich eine maximale Laufzeit für das gestartete Objekt definiert werden (Zeitlimit). Wird diese überschritten, so wird die Aufgabe abgebrochen und/oder ein zusätzliches beliebiges Objekt ausgeführt. Dabei ist zumindest eine dieser beiden Aktionen über die Parameter TERMINATE und Ausführen zu definieren.

Die Script-Funktion gibt nach einer erfolgreichen Aktivierung die RunID des Objektes zurück. Bei Fehlern ist der Rückgabewert "0".

Fragen Sie immer den Rückgabewert ab. Mit der Script-Anweisung :ON_ERROR und den Script-Funktionen zur Fehlerbehandlung lässt sich die genaue Fehlerursache analysieren.

Situation

Rückgabewert

Beschreibung

Allgemeines

 

 

Objekt wurde erfolgreich aktiviert

RunID

Dies ist der Normalfall.

Objekt existiert nicht

0

Das Objekt ist nicht auffindbar und kann daher auch nicht aktiviert werden.

Kein Ausführrecht für das Objekt

0

Das Berechtigungssystem prüft, ob der Benutzer, der für die Aktivierung verantwortlich ist, auch ein Ausführrecht für das Objekt besitzt.

Abbruch der Aktivierung des Objektes

0

Der Abbruch kann manuell oder durch andere Aufgaben erfolgen.

Der Startzeitpunkt liegt in der Vergangenheit.

Run#

Ein Statistiksatz mit "ENDED_TIMEOUT - Startzeit überschritten" wird erstellt.

Script-Generierung bei der Aktivierung

 

 

Scriptfehler im Objekt

0

Scriptfehler brechen die Aktivierung eines Objektes ab.

:EXIT 0

RunID

Bei dieser Anweisung handelt es sich um eine Beendigung der Script-Prozessierung und nicht um einen Abbruch. Sie wird daher nicht als Fehler gewertet.

:EXIT <> 0

0

Diese Anweisung bricht die Aktivierung des Objektes ab.

:STOP NOMSG

RunID

Bei dieser Anweisung handelt es sich um eine Beendigung der Script-Prozessierung und nicht um einen Abbruch. Sie wird daher nicht als Fehler gewertet.

:STOP MSG

0

Diese Anweisung bricht die Aktivierung des Objektes ab.

Script-Generierung zur Laufzeit

 

 

Scriptfehler im Objekt

RunID

Ist bei dem zu aktivierenden Objekt die Option "Generieren zur Laufzeit" gesetzt, so findet die Script-Ausführung nicht während der Aktivierung statt und ACTIVATE_UC_OBJECT kann eventuell auftretende Fehler nicht erkennen. In diesen Fällen wird immer die RunID als Rückgabewert geliefert.

:EXIT 0

RunID

:EXIT <> 0

RunID

:STOP MSG

RunID

:STOP NOMSG

RunID

Post-Script

 

 

Scriptfehler im Objekt

RunID

Das Post-Script wird erst am Ende der Durchführung prozessiert und liegt daher nicht im Bereich der Aktivierung. Fehler werden daher nicht erkannt.

Ein Objekt kann sich über die Script-Funktion nicht selbst aktivieren. Damit werden Endlosschleifen vermieden, die das ganze Automation Engine System lahmlegen könnten.

Beachten Sie, dass der Parameter WAIT nicht zusammen mit der Angabe eines Startzeitpunktes verwendet werden kann.

 Die Parameter der Script-Funktion sind in einer bestimmten Reihenfolge anzuordnen. Wenn Sie daher Parameter auslassen, sind trotzdem deren Kommata zu setzen (siehe nachfolgende Beispiele).

Das Script-Sprachmittel bewirkt, dass die offenen Transaktionen des Scripts in die Datenbank geschrieben werden.

Beispiele

Im ersten Beispiel wird ein Job "Status" aktiviert, wobei eine Kontrolle des Rückgabewertes erfolgt. 

: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 zweite Beispiel aktiviert den Job mit einem logischen Datum.

:SET &ACTOBJ# = ACTIVATE_UC_OBJECT(STATUS,,"DD.MM.YY:01.12.00"

Der Workflow MAWI.WOCHE soll Mitte Juli am Abend laufen.

:SET &ACTOBJ# = ACTIVATE_UC_OBJECT(MM.WEEK,,, "MEZ", "2005-07-15 18:00:00")

An den Job MAWI.ABSCHLUSS sollen auch die Objektvariablen vererbt werden.

:SET &ACTOBJ# = ACTIVATE_UC_OBJECT("MM.END.PROCESSING",,,,, PASS_VALUES)

 

Siehe auch:

Script-Sprachmittel Beschreibung

RESTART_UC_OBJECT

Wiederholt die Durchführung einer Aufgabe.
CANCEL_UC_OBJECT Bricht ein aktiviertes Objekt ab.
GET_UC_OBJECT_NR Gibt die laufende Nummer (RunID) eines aktivierten Objektes zurück.
CREATE_OBJECT Erstellt ein Objekt (nur Kalender, Login und Variable).
:ON_ERROR Legt die Reaktion auf bestimmte Fehler bzw. Meldungen von Script-Sprachmitteln fest.

Script-Sprachmittel - Objekte aktivieren

Beispielsammlung:
Benachrichtigung mit Variablen-Meldung <text

Datenbankwartung mit Optionen

Ermittlung der Fehlermeldung und -nummer

Reaktion auf externe Ereignisse

Allgemeines zum Script
Script-Sprachmittel - Alphabetische Auflistung

Script-Sprachmittel - Funktionelle Gliederung

 


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

Copyright © 2016 Automic Software GmbH