CANCEL_UC_OBJECT
Verwenden Sie die Script-Funktion CANCEL_UC_OBJECT, um ein aktives 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.
- Sie können CANCEL_UC_OBJECT nicht verwenden, um beendete Tasks zu deaktivieren. Um eine beendete Aufgabe zu deaktivieren, verwenden Sie die Script-Funktion DEACTIVATE_UC_OBJECT.
Syntax
CANCEL_UC_OBJECT (RunID[, Erweiterung])
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 Ereignisses 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. -
Erweiterungen
(Optional) Zusätzliche Optionen zum Beenden je nach Objekttyp:- Ereignis- und Remote Task Manager-Objekte: Geben Sie den Status des Objekts nach der Beendigung an
Zulässige Werte:- ENDED_OK
- ENDED_CANCEL
- ENDED_TIMEOUT
- Nur Workflow-, Schedule- und Gruppenobjekte: Geben Sie ALL an, um alle laufenden Child-Aufgaben im Objekt abzubrechen.
- Ereignis- und Remote Task Manager-Objekte: Geben Sie den Status des Objekts nach der Beendigung 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, sodass 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 - 20002
Laufzeitfehler in Objekt '&01', Zeile '&02'. Abbruch mit Status '&04' ist nur für EVNT und JOBQ zulässig.
Tipp: Verwenden Sie die Script-Anweisung :ON_ERROR, um Maßnahmen für den Fall zu definieren, dass der Export fehlschlägt. Weitere Informationen finden Sie unter Script-Elemente 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 Ereignis-Prozess-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: