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.
  • Diese Script-Anweisung bewirkt, dass alle offenen Transaktionen des Scripts in die AE-Datenbank geschrieben werden. Weitere Informationen finden Sie unter Script-Verarbeitung.
  • Die Variable MAX_NESTING_DEPTH führt eine Sicherheitsüberprüfung durch und schränkt die Anzahl der rekursiven Objektaktivierungen ein. Weitere Informationen finden Sie unter MAX_NESTING_DEPTH in UC_SYSTEM_SETTINGS - Systemübergreifende Einstellungen. Standardmäßig wird der 16. Versuch, ein Objekt zu aktivieren, mit dem Status FAULT_OTHER abgebrochen. Wenn Sie den Wert auf 0 (null) setzen, wird die Sicherheitsprüfung deaktiviert.
    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 ( Objektname [ , , [Logisches Datum] [ , [Zeitzone] [ , [ Startzeit|Periodenobjekt] [ , [ PASS_VALUES] [ , [Queue] [ , [Alias] [ , [ENABLE_PROMPTS] ] ] ] ] ] ] ])
ACTIVATE_UC_OBJECT ( Objektname [ , [WAIT] [ , [Logisches Datum] [ , [Zeitzone] [ , , [ PASS_VALUES] [ , [Queue] [ , [Alias] [ , [ENABLE_PROMPTS[, FixedTimeValue, [TERMINATE][, Ausgeführtes Objekt] ] ] ] ] ] ] ] ] ])

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

  • Objektname
    Name des aufgerufenen Objekts

  • WAIT
    Script-Funktion wartet, bis das Objekt beendet ist
    Wichtig! Sie können den Begriff Warten nicht in Kombination mit einer Startzeit verwenden.

  • Logisches Datum
    Logisches Datum, das bei der Aktivierung des Objekts verwendet werden soll.
    Weitere Informationen finden Sie unter Logisches Datum und reales Datum.
    Format: Script-Literal oder Script-Variable, YYMMDD oder YYYYMMDD
    (Optional) Um ein anderes Format zu verwenden, geben Sie das Datumsformat an, geben ein Trennzeichen ein (: oder;) und geben Sie das Datum an.

  • Zeitzone
    Zeitzonenobjekt, das für die Zeitstempelberechnung verwendet wird
    Format: Script-Literal oder Script-Variable

  • Startzeit|Periodenobjekt
    Zeitstempel-String oder Name eines vorhandenen Periodenobjekts

    • Startzeit
      Zeitstempel, der aus einem Datum und einer Uhrzeit besteht ("YYYY-MM-DD HH:MM:SS")
      Format: Script-Literal oder Script-Variable
    • Periodenobjekt
      Periodenobjekt für wiederkehrende Ausführungen
      Wenn Sie diesen Parameter verwenden, wird die Ausführung sofort gestartet. 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.
  • PASS_VALUES
    Übergibt Objektvariablen und PromptSet-Variablen an das aufgerufene Objekt

  • Queue
    Überschreibt die Queue-Definition in dem aufgerufenen Objekt
    Wenn kein Queue-Objekt angegeben ist, wird die Aufgabe automatisch in der Queue gestartet, die im aufgerufenen Objekt definiert ist.

  • Alias
    Alias des aufgerufenen Objekts
    Dieser Anzeigename wird in der Process Monitoring-Perspektive und in der Statistik anstelle des tatsächlichen Objektnamens verwendet.
    Format: AE Name, Script-Literal oder Script-Variable
    Dieselben Regeln gelten für Aliasnamen und Objektnamen:
    Maximale Länge: 200 Zeichen
    Zulässige Zeichen: A-Z, 0-9, $, @, _, -, . und #
  • ENABLE_PROMPTS
    Erzwingt die Anzeige des PromptSet-Eingabeformulars 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, aber MM und SS 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

  • Ausgeführtes Objekt
    Aktiviert ein anderes Objekt, wenn die maximale Laufzeit überschritten ist
    Format: AE-Name, Script-Literal oder Script-Variable

Mehr Informationen:

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 der Script-Anweisung :EXIT abgebrochen wird

Tipp: Fragen Sie immer den Rückgabewert in Ihren Scripts ab, damit Sie 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. Dies wird nicht als Fehler behandelt.

  • :STOP NOMSG

    Diese Anweisung bricht die Script-Verarbeitung nicht ab, sie beendet sie. Dies 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

    Diese Anweisung bricht die Aktivierung des Objekts ab.

  • :STOP MSG

    Diese Anweisung 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# , "Bitte prüfen. Vielen Dank! )
:
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: