CANCEL_UC_OBJECT
Verwenden Sie die Script-Funktion CANCEL_UC_OBJECT, um ein aktiviertes Objekt zu beenden.
Hinweise:
- Die Script-Funktion bewirkt, dass alle offenen Transaktionen des Scripts in die AE-Datenbank geschrieben werden. Weitere Informationen finden Sie unter Script-Verarbeitung.
- Mit CANCEL_UC_OBJECT können Sie beendete Aufgaben nicht deaktivieren. Um eine beendete Aufgabe zu deaktivieren, verwenden Sie die Script-Funktion DEACTIVATE_UC_OBJECT.
Syntax
CANCEL_UC_OBJECT (RunID [, Extension])
Parameter
-
CANCEL_UC_OBJECT
Beendet ein aktives Objekt -
RunID
RunID des zu beendenden aktiven Objekts
Format: Script-Literal oder Script-Variable
Hinweis: (Nur Ereignisse) Eine neue Instanz des aktiven Ereignis wird erstellt, wenn ein Ereignis eintritt. Die neue Instanz hat auch eine RunID. Verwenden Sie die Script-Funktion SYS_ACT_PARENT_NR, um die RunID abzurufen, wenn Sie das Ereignis beenden möchten. -
Extension
(Optional) Zusätzliche Optionen zum Beenden je nach Objekttyp:- Nur Ereignisse: Geben Sie den Status des Objekts nach dem Beenden an
Erlaubte Werte:- ENDED_OK
- ENDED_CANCEL
- ENDED_TIMEOUT
- Nur Workflow-, Schedule- und Gruppenobjekte: Geben Sie ALL an, um alle laufenden Child-Aufgaben im Objekt abzubrechen.
- Nur Ereignisse: Geben Sie den Status des Objekts nach dem Beenden an
Rückgabewerte
Die Script-Funktion gibt die folgenden Werte zurück:
- 0
Aufgabe wurde erfolgreich abgebrochen - 11049
Es wurde keine Aufgabe mit der angegebenen RunID gefunden, so dass die Aufgabe nicht abgebrochen werden konnte - 11050
Aufgabe hat einen Status, der nicht abgebrochen werden kann - 20347
Das Script wurde über eine CallAPI gestartet und kann nicht mit der Funktion CANCEL_UC_OBJECT abgebrochen werden
Tipp: Verwenden Sie das Script-Statement :ON_ERROR, um Maßnahmen zu definieren, die ergriffen werden müssen, wenn das Abbrechen fehlschlägt. Weitere Informationen finden Sie unter Script-Sprachmittel zur Fehlerbehandlung.
Beispiele
Das folgende Script aktiviert ein Benachrichtigungsobjekt mit dem Namen ALARM3 und wartet 60 Sekunden. Wenn die Benachrichtigung nach 60 Sekunden noch aktiv ist, wird die Benachrichtigung beendet.
:SET &RUNNR# = ACTIVATE_UC_OBJECT("ALARM3")
:WAIT 60
:SET &STATUS# = GET_STATISTIC_DETAIL(&RUNNR#,STATUS)
:IF &STATUS# < 1800
:SET &STATUS# = CANCEL_UC_OBJECT(&RUNNR#)
:ENDIF
Das folgende Beispiel zeigt einen Teil eines Ereignisprozess-Scripts in einem Ereignisobjekt. Wenn das Ereignis eintritt, ruft das Script die RunID des Parent (der Hauptereignis-Aufgabe) ab und beendet das Ereignis.
:SET &RUNNR# = SYS_ACT_PARENT_NR()
:SET &STATUS# = CANCEL_UC_OBJECT(&RUNNR#)
Die folgenden Zeilen prüfen, ob ein Ereignis (EVNT.NIGHT) noch aktiv ist. Wenn das Ereignis aktiv ist, bricht das Script das Ereignis ab und setzt den Status der Aufgabe auf ENDED_CANCEL.
:SET &RUNNR# = GET_UC_OBJECT_NR(EVNT.NIGHT)
:IF &RUNNR# <> "
:SET &STATUS# = CANCEL_UC_OBJECT(&RUNNR#, "ENDED_CANCEL")
:ENDIF
Siehe auch: