Objectif : La notification par objet notification doit comporter un texte dépendant de la tâche qui l'appelle.
Objets utilisés : Notification
Eléments de script utilisés : ACTIVATE_UC_OBJECT, :ADD_ATT, GET_ATT, :PUT_ATT, :PUT_ATT_APPEND, :PUT_READ_BUFFER, :READ, STR_FIND, SYS_ACT_PARENT_NAME, SYS_ACT_PARENT_NR et SYS_ACT_PARENT_TYPE
Les objets notification sont utilisés pour la notification par moniteur, e-mail ou SNMP. Il est très utile de créer un objet notification dont le texte contient des informations dépendant de la tâche qui l'appelle. Cela vous permet une utilisation multiple de l'objet notification, dont le contenu s'adapte automatiquement.
Tâche
Saisissez les lignes de script suivantes dans l'onglet Post-traitement d'une tâche pour démarrer la notification.
!Storing the agent name in the Read buffer
:SET &att_host = GET_ATT(HOST)
:PUT_READ_BUFFER
host# = '&att_host'
!Activating the notification
:SET &ret = ACTIVATE_UC_OBJECT('CALLOP')
Les attributs ne peuvent être récupérés que dans l'onglet Traitement de la même tâche. Cet exemple stocke le nom de l'agent sélectionné dans le cache (tampon de lecture). L'objet notification peut lire la valeur à cet emplacement et donc l'utiliser pour l'affichage.
Notification
Créez maintenant un objet notification. Spéciiez sa priorité et le type (requête, message, alerte), ainsi qu'un ou plusieurs utilisateurs devant être notifiés.
Le Script est structuré comme suit. Tout d'abord, le nom de l'agent est lu du le cache. Ensuite, d'autres informations sont récupérées de la tâche (nom, RunID et type d'objet). Il est utile de garder des conventions de nommage pour les objets car le script vérifie si le nom de la tâche contient une chaîne de caractères spécifique (ADMIN). Le cas échéant, les utilisateurs que vous avez saisis, ainsi que ceux du groupe "ADMIN", sont avertis.
Le texte du message à afficher est spécifié à l'aide des instructions de script :PUT_ATT et :PUT_ATT_APPEND. Vous pouvez créer un saut de ligne avec la fonction UC_CRLF.
!Reading the agent name of the task
:READ &host,,
:SET &name = SYS_ACT_PARENT_NAME(ACT)
:SET &runnr = SYS_ACT_PARENT_NR(ACT)
:SET &typ = SYS_ACT_PARENT_TYPE(ACT)
!If 'ADMIN' is part of the task name ...
:SET &string = STR_FIND (&name,'ADMIN')
!...all the users of the user group "ADMIN" are notified.
:IF &string <> '0'
: ADD_ATT RECIPIENT, 'ADMIN'
:ENDIF
!Creating the message text
:PUT_ATT CALL_TEXT
= 'The following task was not successfully
completed! Please check!'
:PUT_ATT_APPEND
CALL_TEXT = UC_CRLF()
:PUT_ATT_APPEND
CALL_TEXT = UC_CRLF()
:PUT_ATT_APPEND
CALL_TEXT = 'Name of the task: &name'
:PUT_ATT_APPEND
CALL_TEXT = UC_CRLF()
:PUT_ATT_APPEND
CALL_TEXT = 'RunID of the task: &runnr'
:PUT_ATT_APPEND
CALL_TEXT = UC_CRLF()
:PUT_ATT_APPEND
CALL_TEXT = 'Type of the task: &typ'
:PUT_ATT_APPEND
CALL_TEXT = UC_CRLF()
:PUT_ATT_APPEND
CALL_TEXT = 'Agent: &host'
L'illustration suivante présente une notification appelée par la tâche "ADMIN.MAINTENANCEDB" qui avertit l'utilisateur Henri. Comme la tâche contient la chaîne "ADMIN", les membres du groupe ADMIN (Philibert et Meunier) sont également avertis.
Rubriques connexes :