Base de connaissances > Automation Engine et systèmes cibles > NSK > Traitement automatisé des lignes de commande

Traitement automatisé des lignes de commande

Dans de nombreux cas, des lignes de commande sont nécessaires pour poursuivre le traitement. L'Agent NSK vous donne la possibilité de réagir de façon automatisée à ces soi-disant invites.

Pour chaque Job NSK, vous pouvez ainsi créer des saisies prédéfinies pour les invites spécifiques. Ainsi lorsqu'une invite survient dans l'exécution du Job, l'Agent recherche une saisie prédéfinie. S'il en trouve une, le traitement peut se poursuivre automatiquement. Si aucun traitement n'est défini pour cette invite, la procédure à suivre dépend de l'objet Job. Si vous avez saisi un terminal virtuel dans l'onglet "Guardian/NSK", l'invite y est redirigée et un Utilisateur doit intervenir manuellement. Si aucun terminal n'est indiqué, alors l'Agent fournit un indicateur EOF à l'invite.

Cette fonctionnalité est uniquement prise en charge pour les environnements NonStop Agent et TACL.

Utilisation

La fonction UC4_AUTO_ANSWER vous permet de définir la saisie pour une invite. Utilisez cette fonction une ou plusieurs fois dans le Script d'un Job NSK. Elle n'est valide que pour ce Job. La syntaxe est la suivante :

UC4_AUTO_ANSWER "désignation de l'invite" "saisie"

Le premier paramètre attend la désignation de l'invite. Vous pouvez soit utiliser la désignation complète, soit la saisie avec caractères génériques en utilisant les caractères ? et *. Cette dernière vous permet d'utiliser la même saisie pour plusieurs invites sans devoir entrer une ligne de Script pour chacune d'elles.

Si les caractères ? ou * doivent être interprétés comme des caractères normaux, vous devez insérer une barre oblique inversée (\) avant chacun de ces caractères.

Le deuxième paramètre représente la saisie devant être automatiquement transmise à l'invite. Entrez une chaîne de caractères, une Variable de Script ou une expression TACL. Vous pouvez également indiquer "<EOF!>" pour répondre à l'invite avec un indicateur EOF (correspond à Ctrl-Y).

Attention : aucun des deux paramètres ne doit contenir de guillemets !

L'Agent utilise pour le Job les définitions de saisie qui ont été utilisées dans le Script jusqu'à ce moment. Lors de la recherche, le système lit une ligne après l'autre et utilise la première définition correspondant à la désignation de l'invite.

Utilisez la fonction UC4_AUTO_ANSWER_CLEAN pour désactiver toutes les définitions de saisie qui ont été utilisées jusqu'à présent dans le Script. L'Agent recherche alors les définitions à partir de cette ligne du Script. Utilisez la fonction de séparation de sections du Script dans lesquelles divers traitements de l'invite doivent s'appliquer. UC4_AUTO_ANSWER_CLEAN ne possède aucun paramètre.

S'il vous faut de plus amples informations sur la recherche de définitions de saisie pour les invites, vous pouvez utiliser la fonction UC4_AUTO_ANSWER_TRACELEVEL. Cette fonction écrit, selon le niveau spécifié, des messages plus précis dans le rapport de Job et dans le terminal virtuel. La syntaxe est la suivante :

UC4_AUTO_ANSWER_TRACELEVELLevel

Pour le niveau, vous devez saisir un chiffre entre 0 et 3.

0 - la comparaison ne retourne aucun résultat (valeur par défaut).
1 - un message pour chaque comparaison correspondante.
2 - un message pour chaque comparaison sans correspondance.
3 - messages de niveaux 2 et 3.

Exemples

Exemple 1

L'instruction PURGE nécessite la saisie de "y" ou de "n". L'exemple de Script suivant montre un traitement de la saisie automatisé :

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

La première ligne définit qu'il faut répondre par "y" à l'invite de l'instruction PURGE. L'appel de PURGE de la ligne suivante reçoit ainsi automatiquement la saisie "y". En raison de l'appel de l'Automation Engine_AUTO_ANSWER_CLEAN, la définition de saisie ne s'applique pas aux autres Scripts du Job.

Exemple 2

Extrait du 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