ACTIVATE_UC_OBJECT
Utilisez la fonction ACTIVATE_UC_OBJECT pour exécuter un objet via un script. Vous pouvez activer n'importe quel type d'objet exécutable, grâce à cette fonction. Les paramètres de cette fonction vous permettent de définir le moment de l'exécution et les variables à transmettre à l'objet.
Cette fonction inclut plusieurs paramètres vous permettant de définir des heures de début. Si vous ne spécifiez pas d'heure de début, la nouvelle tâche est immédiatement lancée dans la queue d'exécution. Si vous définissez une heure de début, le statut de la nouvelle tâche est En attente d'heure de début. Vous pouvez également activer l'objet à une date logique ou spécifier un autre objet à activer lorsque l'objet appelé dépasse une heure limite.
Cette fonction de script renvoie le RunID de l'objet appelé. Les paramètres de la page Attributs de l'objet déterminent si le RunID est renvoyé après la phase d'activation ou de génération :
- Générer la tâche à l'activation : la fonction de script renvoie le RunID après la phase de génération de l'objet appelé
- Générer la tâche à l'exécution : la fonction de script renvoie le RunID à l'activation de l'objet
Pour plus d'informations :
Remarques :
- L'heure d'exécution et de début peuvent être différentes.
- Cette instruction de script écrit toutes les transactions ouvertes du script dans la base de données AE. Pour plus d'informations, voir Traitement du script.
- Afin d'empêcher les boucles sans fin dans Automation Engine, le nombre d'activations récursives d'un objet est limité. La 16ème tentative d'activation d'un objet est annulée avec le statut FAULT_OTHER. Cette limite s'applique également aux activations récursives de workflows ou à une combinaison d'activations d'objets et de workflows.
Exemple : Un workflow active un script, qui à son tour réactive le workflow. Si la boucle se produit 5 fois (3 fois 5 égal 15), la 16ème activation est annulée.
Syntaxe
ACTIVATE_UC_OBJECT ( Object name [ , , [Logical Date] [ , [TimeZone] [ , [ Start time|Period object] [ , [ PASS_VALUES] [ , [Queue] [ , [Alias] [ , [ENABLE_PROMPTS] ] ] ] ] ] ] ])
ACTIVATE_UC_OBJECT ( Object name [ , [WAIT] [ , [Logical Date] [ , [TimeZone] [ , , [ PASS_VALUES] [ , [Queue] [ , [Alias] [ , [ENABLE_PROMPTS[, FixedTimeValue, [TERMINATE][, Executed-Object] ] ] ] ] ] ] ] ] ])
Remarque : Vous devez écrire les paramètres de cette fonction de script dans l'ordre ci-dessus. Mettez des virgules si vous supprimez des paramètres.
Paramètres
-
ACTIVATE_UC_OBJECT
Exécute l'objet -
Object Name
Nom de l'objet appelé -
WAIT
Attente de la fonction de script jusqu'à ce que l'objet soit terminé
Important ! WAIT ne peut pas être combiné à une heure de début. -
Logical Date
Date logique utilisée à l'activation de l'objet
Pour plus d'informations, voir Date logique et date réelle.
Format : littéral de script ou variable, AAMMJJ ou AAAAMMJJ
(Optionnel) pour utiliser un autre format, spécifiez le format de date, saisissez un séparateur (: ou ;) et spécifiez la date. -
TimeZone
Objet Fuseau horaire utilisé pour le calcul d'horodatage
Format : littéral de script ou variable -
Start time|Period object
Date/heure de début ou nom d'un objet Période existant- Start time
Horodatage composé d'une date et heure ("AAAA-MM-JJ HH:MM:SS")
Format : littéral de script ou variable de script - Period object
Objet Période pour les exécutions périodiques
Avec ce paramètre, l'exécution commence une fois immédiatement. Toutes les exécutions suivantes commencent selon ce qui est défini dans l'objet Période.
Remarque : Si vous définissez un objet Période, les paramètres Date logique et Heure de début sont ignorés.
- Start time
-
PASS_VALUES
Transmet les variables d'objets et de promptsets aux objets appelés -
Queue
Remplace la définition de queue dans l'objet appelé
Si l'objet Queue n'est pas défini, la tâche démarre automatiquement dans la queue définie dans l'objet appelé. - Alias
Alias de l'objet appelé
Affiche le nom utilisé dans la perspective Surveillance des processus et les statistiques, à la place du nom d'objet actuel.
Format: Nom AE, littéral de script ou variable de script
Les mêmes règles sont valables pour l'alias que pour le nom de l'objet :
Longueur maximale : 200 caractères
Caractères autorisés : A-Z, 0-9, $, @, _, -, . et # -
ENABLE_PROMPTS
Force l'affichage dans Interface Web Automic, du format d'entrée du promptset de l'objet activé.
Remarques :- Si l'utilisateur n'est pas connecté à Interface Web Automic, l'objet appelé attend l'utilisateur.
- Si aucun objet PromptSet n'est affecté, le traitement du script n'est pas impacté et le formulaire de saisie ne s'affiche pas.
-
FixedTimeValue
Durée d'exécution maximale de l'objet lancé
Format : littéral ou variable de script, au format HH:MM:SS, HH pouvant être une valeur à un chiffre, mais MM et SS devant être des valeurs à deux chiffres
Exemple : "1:05:07"Si vous définissez une durée d'exécution maximale, vous devez également définir au moins une action à traiter lorsque la limite est dépassée. Utilisez les paramètres TERMINATE et Exécuter à cet effet.
-
TERMINATE
Interrompt la tâche en cas de dépassement de la durée d'exécution maximale (limite de temps) -
Executed-Object
Active un autre objet en cas de dépassement de la durée d'exécution maximale
Format: Nom AE, littéral de script ou variable de script
Pour plus d'informations :
- Date logique et date réelle
- Fuseau horaire (TZ)
- Période (PERIOD)
- Variables et objets VARA
- Queues (QUEUE)
- Queue CLIENT
- Objets PromptSet (PRPT)
Codes retour
La fonction de script ACTIVATE_UC_OBJECT renvoie les codes retour suivants :
- RunID d'un objet activé avec succès
- 0 en cas d'échec de l'activation
- 20380 en cas d'interruption de l'objet avec l'instruction de script :EXIT
Conseil : Demandez systématiquement le code retour dans vos scripts afin de pouvoir analyser les causes d'erreurs. Pour plus d'informations, voir Traitement des erreurs dans les scripts
Cette fonction de script renvoie le RunID de l'objet dans les cas suivants :
-
Activation de l'objet réussie
C'est le cas normal.
-
Le point de départ est dans le passé
L'exécution est listée comme ENDED_TIMEOUT - Dépassement heure de début dans le rapport.
Cette fonction de script renvoie 0 dans les cas suivants :
-
L'objet n'existe pas
Activation impossible car objet introuvable.
-
Absence de droits d'exécution pour l'objet
L'utilisateur ayant activé l'objet n'est pas autorisé à l'exécuter.
-
Activation de l'objet interrompue
La tâche a été interrompue manuellement ou par une autre tâche.
L'attribut d'objet Générer la tâche à l'exécution ou à l'activation a un impact sur les codes retour. Pour plus d'informations, voir Générer à l'activation ou à l’exécution.
Si l'objet est configuré pour être généré à l'activation, la fonction de script renvoie le RunID de l'objet dans les cas suivants :
-
:EXIT 0
Cette instruction n'interrompt pas le traitement du script, mais le termine. Elle n'est pas traitée comme une erreur.
-
:STOP NOMSG
Cette instruction n'interrompt pas le traitement du script, mais le termine. Elle n'est pas traitée comme une erreur.
Cette fonction de script renvoie 0 dans les cas suivants :
-
Erreur de script dans l'objet
L'activation de l'objet a été interrompue pour cause d'erreur de script.
-
:EXIT <> 0
Cette instruction interrompt l'activation de l'objet.
-
:STOP MSG
Cette instruction interrompt l'activation de l'objet.
Si l'objet est configuré pour être généré à l'exécution, le script n'est pas exécuté pendant le processus d'activation. La fonction de script ACTIVATE_UC_OBJECT ne peut identifier les erreurs qui surviennent. Cette fonction renvoie le RunID dans les cas suivants :
-
:EXIT 0
-
:EXIT <> 0
-
:STOP MSG
-
:STOP NOMSG
Exemples
L'exemple suivant illustre l'activation d'un job appelé Statut qui vérifie le code retour et envoie un courriel avec le code et le message d'erreur en cas d'échec de l'activation :
: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#, "Please check. Thank
you!")
:ENDIF
L'exemple suivant illustre l'activation d'un job avec une date logique :
:SET &ACTOBJ# = ACTIVATE_UC_OBJECT(STATUS,,"DD.MM.YY:01.12.15")
Dans l'exemple suivant, l'objet Workflow MM.WEEK s'exécute à des dates et heures spécifiques :
:SET &ACTOBJ# = ACTIVATE_UC_OBJECT(MM.WEEK,,, "MEZ", "2018-07-15 18:00:00")
Dans l'exemple suivant, les variables d'objets sont héritées par le job MM.END.PROCESSING:
:SET &ACTOBJ# = ACTIVATE_UC_OBJECT("MM.END.PROCESSING",,,,, PASS_VALUES)
Voir aussi :