Traitement automatisé des invites de saisie

Les invites de saisie sont souvent nécessaires à la poursuite du traitement. L'agent NSK offre la possibilité de réagir automatiquement à ces invites.

Dans chaque job NSK, vous pouvez spécifier des entrées prédéfinies pour certaines invites. Dès que l'exécution d'un job atteint une invite, l'agent recherche une entrée prédéfinie. Le traitement se poursuit automatiquement s'il en trouve une. Si la gestion d'invite n'a pas été définie, la poursuite du traitement dépend des spécifications de l'objet Job. Si un terminal virtuel a été spécifié dans l'onglet Guardian / NSK, l'invite est redirigée vers lui et une intervention manuelle est requise. Si aucun terminal n'a été défini, l'agent affecte une entrée EOF à l'invite.

Remarque :Cette fonction n'est prise en charge que pour les environnements d'agents NonStop et TACL.

Utilisation

Les entrées d'invites peuvent être définies via la fonction UC4_AUTO_ANSWER. Dans un script de job NSK, cette fonction peut être utilisée une ou plusieurs fois. Les définitions ne s'appliquent qu'à un job en particulier. La syntaxe est la suivante :

UC4_AUTO_ANSWER "Description de l'invite" "Entrée"

Le premier paramètre décrit l'invite. Vous pouvez soit utiliser le nom complet, soit les caractères génériques ? et *. Ce dernier permet d'utiliser la même entrée pour plusieurs invites sans qu'il soit nécessaire de saisir une ligne de script supplémentaire.

Remarque : Ajoutez le caractère \ si \, ? ou * doivent être lus comme des caractères normaux.

Le second caractère représente l'entrée automatiquement affectée à l'invite. Saisissez une chaîne, une variable de script ou une espression TACL. Vous pouvez également utiliser <EOF!> afin de répondre à l'invite avec une entrée EOF (Ctrl Y).

Important ! Les deux paramètres ne doivent pas inclure des guillemets.

Remarque :l'agent utilise les définitions de saisie déjà présentes dans le script. La recherche se fait selon une stricte rotation ; c'est la première définition correspondant à la description de l'invite qui est utilisée.

Utilisez la fonction UC4_AUTO_ANSWER_CLEAN pour invalider toutes les définitions d'entrées déjà présentes dans le script. L'agent recherche ensuite toutes les définitions commençant par cette ligne de script. Vous pouvez utiliser cette fonction pour séparer des sections de script présentant différentes gestions d'invites.  UC4_AUTO_ANSWER_CLEAN n'a pas de paramètres.

Vous pouvez utiliser la fonction UC4_AUTO_ANSWER_TRACELEVEL pour obtenir des informations plus détaillées sur la recherche de définitions d'entrées d'invites. Selon le niveau spécifié, des messages plus détaillés sont consignés dans le rapport de job et le terminal virtuel. La syntaxe est la suivante :

UC4_AUTO_ANSWER_TRACELEVELNiveau

Saisissez un chiffre entre 0 et 3 pour le niveau.

0 : La comparaison de l'invite ne génère aucune sortie (valeur par défaut).
1 : Envoi d'un message pour chaque comparaison d'invite coïncidant.
2 : Envoi d'un message pour chaque comparaison d'invite ne coïncidant pas..
3 : Sortie des messages de niveaux 2 et 3

Exemple 1

L'instruction PURGE requiert la spécification de Y ou N. L'exemple de script suivant illustre une forme automatisée de gestion de l'entrée :

UC4_AUTO_ANSWER "PURGE * (y/[n])?" y
PURGE *
UC4_AUTO_ANSWER_CLEAN

La première ligne définit y comme réponse à l'invite de l'instruction PURGE. L'appel PURGE de la ligne suivante est alors automatiquement renseigné avec y. En raison de UC4_AUTO_ANSWER_CLEAN, cette définition d'entrée ne s'applique pas script restant du job.

Exemple 2

Extrait de rapport de job d'un script utilisant la fonction UC4_AUTO_ANSWER_TRACELEVEL.

UC4_AUTO_ANSWER "*is no prompt*" "Answer 1"
UC4_AUTO_ANSWER "*is a prompt*" "Answer 2"
UC4_AUTO_ANSWER "*is what*" "Answer 3"
UC4_AUTO_ANSWER "*is nothing*" "Answer 4"

run $data01.uc4.prompt
This is a prompt>Answer 2
Answer to the prompt received: Answer 2


UC4_AUTO_ANSWER_TRACELEVEL 1
run $data01.uc4.prompt
*** Pattern checked: "*is a prompt*", matched, answer generated: "Answer 2"
This is a prompt>Answer 2
Answer to the prompt received: Answer 2


UC4_AUTO_ANSWER_TRACELEVEL 3
run $data01.uc4.prompt
*** Pattern checked: "*is no prompt*", no match
*** Pattern checked: "*is a prompt*", matched, answer generated: "Answer 2"
This is a prompt>Answer 2
Answer to the prompt received: Answer 2