Knowledge Base > Automation Engine und Zielsysteme > NSK > Automatisierte Behandlung von Eingabeaufforderungen

Automatisierte Behandlung von Eingabeaufforderungen

In vielen Fällen werden Eingabeaufforderungen benötigt, um die Verarbeitung weiter voranzutreiben. Der NSK-Agent bietet Ihnen eine Möglichkeit, um auf diese sogenannten Prompts automatisiert zu reagieren.

In jedem einzelnen NSK-Jobs lassen sich vorgefertigte Eingaben auf bestimmte Prompts festlegen. Gelangt die Jobdurchführung zu einem Prompt, sucht der Agent nach einer vordefinierten Eingabe. Findet er eine, so kann die Verarbeitung automatisch fortgesetzt werden. Ist keine Behandlung für den Prompt definiert, hängt das weitere Vorgehen vom Job-Objekt ab. Wenn Sie in der Registerkarte "Guardian/NSK" ein virtuelles Terminal angegeben haben, wird der Prompt dahin umgeleitet und ein Benutzer muss manuell eingreifen. Fehlt die Angabe eines Terminals, so übergibt der Agent dem Prompt ein EOF-Kennzeichen.

Diese Funktionalität wird nur für NonStop-Agent-Umgebungen und TACL unterstützt.

Verwendung

Mit der Funktion UC4_AUTO_ANSWER definieren Sie die Eingabe für einen Prompt. Verwenden Sie diese Funktion ein oder mehrmals im Script eines NSK-Jobs. Sie gelten nur für diesen Job. Die Syntax lautet:

UC4_AUTO_ANSWER "Prompt-Bezeichnung" "Eingabe"

Der erste Parameter erwartet die Bezeichnung des Promptes. Sie können entweder die volle Bezeichnung oder auch eine Wildcard-Angabe unter der Verwendung der Zeichen ? und * benutzen. Mit letzterer haben Sie die Möglichkeit dieselbe Eingabe auf mehrere Prompts anzuwenden, ohne dabei jeweils eine eigene Scriptzeile eintragen zu müssen.

Sollen die Zeichen \, ? oder * als normale Zeichen interpretiert werden, müssen Sie vor diesen Zeichen zusätzlich einen \ einfügen.

Der zweite Parameter steht für die Eingabe, die dem Prompt automatisch übergeben wird. Tragen Sie eine Zeichenkette, eine Script-Variable oder einen TACL-Ausdruck ein. Dabei können Sie auch "<EOF!>" angeben, um dem Prompt mit einem EOF-Kennzeichen (entspricht Strg-Y) zu antworten.

Beachten Sie, dass beide Parameter keine Hochkommata enthalten dürfen!

Der Agent verwendet für den Job jene Eingabedefinitionen, die bis zu diesem Zeitpunkt im Script vorgekommen sind. Bei der Suche wird der Reihe nach vorgegangen und jene Definition verwendet, die sich als erstes mit der Prompt-Bezeichnung deckt.

Verwenden Sie die Funktion UC4_AUTO_ANSWER_CLEAN, um alle Eingabedefinitionen, die bis zu dieser Stelle im Script vorgekommen sind, außer Kraft zu setzen. Der Agent sucht sodann die Definitionen ab dieser Scriptzeile. Verwenden Sie die Funktion zur Trennung von Scriptabschnitten in denen verschiedene Prompt-Behandlungen gelten soll.  UC4_AUTO_ANSWER_CLEAN besitzt keine Parameter.

Benötigen Sie nähere Informationen über die Suche nach der Eingabedefinition für die Prompts, bietet sich die Funktion UC4_AUTO_ANSWER_TRACELEVEL an. Sie schreibt je nach angegebenem Level genauere Meldungen in den Jobreport und auf das virtuelle Terminal. Die Syntax lautet:

UC4_AUTO_ANSWER_TRACELEVELLevel

Geben Sie für den Level eine Zahl zwischen 0 und 3 an.

0 - Keine Ausgaben über die Prompt-Vergleiche (Standardwert).
1 - Eine Meldung für jeden übereinstimmenden Prompt-Vergleich.
2 - Eine Meldung für jeden nicht übereinstimmenden Prompt-Vergleich.
3 - Ausgabe der Meldungen von Level 2 und Level 3.

Beispiele

Beispiel 1

Die PURGE-Anweisung benötigt die Eingabe "y" bzw. "n". Das folgende Script-Beispiel zeigt eine automatisierte Eingabe-Behandlung:

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

Die erste Zeile legt fest, dass auf den Prompt zur PURGE-Anweisung mit "y" geantwortet werden soll. Der PURGE-Aufruf in der nächsten Zeile erhält somit automatisch die Eingabe "y". Durch den Aufruf von UC4_AUTO_ANSWER_CLEAN gilt die Eingabe-Definition nicht für das weitere Script des Jobs.

Beispiel 2

Jobreport-Auszug eines Scriptes, das die Funktion UC4_AUTO_ANSWER_TRACELEVEL nützt.

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

 

 


Automic Documentation - Tutorials - Automic Blog - Resources - Training & Services - Automic YouTube Channel - Download Center - Support

Copyright © 2016 Automic Software GmbH