CANCEL_UC_OBJECT
Utilisez la fonction de script CANCEL_UC_OBJECT pour arrêter un objet activé.
Remarques :
- La fonction de script permet d'écrire les transactions ouvertes dans la base de données AE. Pour plus d'informations, voir Traitement du script.
- Vous ne pouvez pas utiliser CANCEL_UC_OBJECT pour désactiver des tâches terminées. Pour désactiver une tâche terminée, utilisez la fonction de script DEACTIVATE_UC_OBJECT.
Syntaxe
CANCEL_UC_OBJECT (RunID [, Extension])
Paramètres
-
CANCEL_UC_OBJECT
Arrête un objet activé -
RunID
RunID de l'objet activé à arrêter
Format : littéral de script ou variable de script
Remarque : (Événements uniquement) Une nouvelle instance de l'événement activé est créée lorsqu'un événement se produit. Cette nouvelle instance a également un RunID. La fonction de script SYS_ACT_PARENT_NR vous permet d'extraire le RunID lorsque vous souhaitez arrêter l'événement. -
Extension
(Optionnel) Options d'arrêt supplémentaires selon le type d'objet :- Événements uniquement : spécifie le statut de l'objet après arrêt
Valeurs autorisées :- ENDED_OK
- ENDED_CANCEL
- ENDED_TIMEOUT
- Objets Workflow, Schedule et Groupe uniquement : spécifiez ALL pour interrompre toutes les tâches enfants actives de l'objet.
- Événements uniquement : spécifie le statut de l'objet après arrêt
Codes retour
La fonction de script renvoie les codes retour suivants :
- 0
Tâche interrompue avec succès - 11049
Tâche introuvable avec le RunID spécifié : interruption impossible - 11050
Le statut de la tâche ne permet pas son interruption - 20347
Le script a été lancé via CallAPI et ne peut être interrompu avec la fonction CANCEL_UC_OBJECT
Conseil : Utilisez l'instruction de script :ON_ERROR pour définir l'action à entreprendre en cas d'échec de l'interruption. Pour plus d'informations, voir Éléments de script pour la gestion des erreurs.
Exemples
Le script suivant active un objet Notification appelé ALARM3, et attend 60 secondes. Si la notification est toujours active au bout de 60 secondes, la notification s'arrête.
: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
L'exemple suivant illustre une partie de script de traitement d'événement dans un objet Événement. Dès qu'un événement se produit, le script extrait le RunID du parent (tâche de l'événement principal) et arrête l'événement.
:SET &RUNNR# = SYS_ACT_PARENT_NR()
:SET &STATUS# = CANCEL_UC_OBJECT(&RUNNR#)
Les lignes suivantes vérifient si un événement (EVNT.NIGHT) est toujours actif. Si l'événement est actif, le script interrompt l'événement et définit le statut de la tâche sur ENDED_CANCEL.
:SET &RUNNR# = GET_UC_OBJECT_NR(EVNT.NIGHT)
:IF &RUNNR# <> "
:SET &STATUS# = CANCEL_UC_OBJECT(&RUNNR#, "ENDED_CANCEL")
:ENDIF
Voir aussi :