CANCEL_UC_OBJECT

Verwenden Sie Script-Funktion CANCEL_UC_OBJECT, um ein Objekt in einem aktiven Status 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 Objekt in einem aktiven Status

  • 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 laufende Child-Aufgaben im Objekt abzubrechen.

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: