:READ
Verwenden Sie das Script-Statement :READ, wenn Sie Daten aus dem Read-Buffer abrufen möchten. Der Read-Buffer speichert Variablen, um die Werte für die weitere Verarbeitung zur Verfügung zu stellen. Die Funktion des Statements :READ hängt vom Kontext ab, in dem Sie dieses Script-Statement verwenden.
Wichtig! Verwenden Sie keine Textwerte mit Zeilenumbrüchen im Lesepuffer. :READ ignoriert die Zeichen nach dem ersten Zeilenumbruch.
Variablen im Read-Buffer auslesen
Verwenden Sie das Statement :READ, um die folgenden Daten aus dem Read-Buffer abzurufen:
- Werte, die gespeichert werden, wenn Sie ein Objekt mit ACTIVATE_UC_OBJECT starten
Weitere Informationen finden Sie unter :PUT_READ_BUFFER, :PUT_PROMPT_BUFFER - UC_CAUSE* Variablen, die im Read-Buffer gespeichert sind
Weitere Informationen finden Sie auf der Liste der vordefinierten Read-Buffer-Variablen.
So lesen Sie Daten aus, die im Read-Buffer gespeichert sind
Speichern Sie eine Script-Variable im Read-Buffer mit einem Statement:PUT_READ_BUFFER. Aktivieren Sie ein Objekt mit der Funktion ACTIVATE_UC_OBJECT. Rufen Sie den Wert der Variablen, die Sie im Read-Buffer gespeichert haben, mit einem :READ-Statement ab. Jede Script-Variable im Buffer kann nur einmal ausgelesen werden. Die Variable wird nach dem Auslesen aus dem Buffer gelöscht....
Beispiel
Im folgenden Beispiel wird der Name des Agenten eines Jobs im Read-Buffer gespeichert und es wird ein Benachrichtigungsobjekt aktiviert.
:SET &att_host# = GET_ATT(HOST)
:PUT_READ_BUFFER host# = '&att_host#'
:SET &ret# = ACTIVATE_UC_OBJECT('CALLOP')
Im Benachrichtigungsobjekt ruft das folgende Script den Agentennamen ab, der vom vorherigen Script gespeichert wurde:
:READ &host#,,
:PRINT "Agent: &host#"
Das folgende Beispiel ist ein Script in einem Benachrichtigungsobjekt. Das Script liest UC_CAUSE*-Variablen aus, um die Details der Aufgabe abzurufen, die die Benachrichtigung aktiviert hat. Das Script gibt die Details der Aufgabe im Aktivierungsreport aus:
:READ &UC_CAUSE_NAME,,
:READ &UC_CAUSE_NR,,
:READ &UC_CAUSE_STATE,,
:READ &UC_CAUSE_RETCODE,,
:PRINT "This notification was triggered by the following task:"
:PRINT "Name: &UC_CAUSE_NAME"
:PRINT "RunID: &UC_CAUSE_NR"
:PRINT "Status: &UC_CAUSE_STATE"
:PRINT "Return code: &UC_CAUSE_RETCODE"
:READ Benutzerdialoge
Schreiben Sie das :READ-Statement zwischen ein :BEGINREAD und :ENDREAD-Statement, um ein Dialogfenster für Benutzereingaben anzuzeigen. Die vom Benutzer eingegebenen Daten werden in Variablen gespeichert und können für die weitere Verarbeitung verwendet werden.
:READ-Statements zeigen nur dann Dialoge an, wenn einer der folgenden Punkte erfüllt ist:
- Sie haben die Option Generiere Aufgabe: Aktivierungszeit auf der Seite Attribute des Objektes gewählt. Weitere Informationen finden Sie unter Generierung zum Aktivierungszeitpunkt oder zur Laufzeit.
- Sie aktivieren Sie die Aufgabe manuell.
:READ-Statements zeigen in den folgenden Situationen keine Dialoge an, sondern verwenden die Standardwerte:
- Sie haben die Option Generiere Aufgabe: Laufzeit auf der Seite Attribute des Objektes gewählt.
- Sie haben die Option Generiere Aufgabe: Laufzeit für den Workflow gewählt, in welchem das Objekt läuft.
- Die Aufgabe läuft in einer Schedule.
- Die Aufgabe wird mit einer Script-Funktion wie z. B.: ACTIVATE_UC_OBJECT aktiviert.
- Ein CallAPI startet die Aufgabe.
- Die Aufgabe wird über eine Objekt-Einstellung aktiviert, wie z. B: im Tab Post-Condition einer Aufgabe im Workflow.
- Die Aufgabe läuft in einer Gruppe, die als Warteschlange fungiert.
Tipp: Verwenden Sie die Script-Funktion GET_ATT mit dem Attribut DCMODUS, um zu bestimmen, ob ein Script in einem Modus ausgeführt wird, der die Anzeige des Dialogs ermöglicht.
Der Report protokolliert automatisch Werte, die in den Dialogfeldern eingegeben werden. Sie können dieses Verhalten für Job-Reports in den Parametern des Script-Statements deaktivieren.
So lesen Sie Benutzereingaben aus dem Read-Buffer aus
Schreiben Sie das :READ-Statement in einen umschließenden :BEGINREAD....:ENDREAD-Block, um den Benutzer abzufragen und die Werte im Read-Buffer zu speichern.
Syntax
:REA[D] InVariable, [Input Check], [Message Text] [, Default Value] [, Input Handling]
Parameter
-
:READ
Abfragen zur Benutzereingabe -
InVariable
Variable zum Speichern von Benutzereingaben in
Wichtig! Der angegebene Wert muss mit dem Datentyp der Zielvariablen (InVariable) kompatibel sein. Weitere Informationen finden Sie unter Datentypen von Script-Variablen.
Format: Script-Variable -
Input Check
Validiert Benutzereingaben
Format: Script-Literal oder Script-Variable
Maximale Länge: 1024 Zeichen, mit maximal 127 Zeichen pro Eingabeparameter
Beispiel: Jede der Variablen, die im folgenden Script für Eingabeparameter verwendet werden, ist auf 127 Zeichen begrenzt.
:READ &INPUT#,'&var1#,&var2#,&var3#','Select a value',&var3#
Erlaubte Werte:- 00
Keine Validierung (Standardwert) - 01 - 99
Maximale Anzahl von Zeichen, die der Benutzer für den Wert eingeben kann - N-M
Minimale und maximale Anzahl von Zeichen, die der Benutzer für den Wert eingeben kann, wobei N und M ganze Zahlen sind
Beispiel: 10-20 - Datumsformat
Vorgegebenes Format für Datum und Uhrzeit
Beispiel: YYYYMMDD
Siehe Datums-, Zeit- und Periodenformate in Scripts. - Wert, Wert1 - Wert2
Wert oder Wertebereich, mit dem der vom Benutzer eingegebene Wert übereinstimmen muss
- 00
-
Message Text
Text, der dem Benutzer in der Anforderung angezeigt wird
Format: Script-Literal oder Script-Variable
Standardwert: „Bitte Wert für Variable Variablenname eingeben“ -
Default Value
Text, der im Dialog als Eingabe vorgeschlagen wird.
Format: Script-Literal oder Script-Variable
Maximale Länge: 127 Zeichen
Wichtig! Eine leere Zeichenfolge kann nicht als Standardwert verwendet werden. Ein Leerzeichen sich muss innerhalb von Anführungszeichen befinden. -
Input Handling
Gibt eine Option an, wie die Eingabe behandelt werden soll
Format: Script-Literal oder Script-Variable
Erlaubte Werte:- C
(Nur wenn das READ-Statement innerhalb eines :BEGINREAD.. :ENDREAD -Blocks verwendet wird) Positioniert den Cursor in dieses Eingabefeld - D
Zeigt eingegebene Zeichen als Sternchen an (*)
Diese Einstellung wird typischerweise für Passwörter verwendet.
Hinweis: Werte, die auf diese Weise geschützt eingegeben werden, werden in den Reports verschlüsselt dargestellt. - I
(nur Jobs) Unterdrückt die Dokumentation im generierten Jobobjekt-Report
Hinweis: Ohne diese Option werden :READ-Statements und Benutzereingaben im erzeugten Jobobjekt in Form von REMARK-Zeilen dokumentiert. - K
Ermöglicht Kleinbuchstaben in der Eingabe
Hinweis: Ohne diese Option wird die Eingabe automatisch in Großbuchstaben eingegeben. Diese Option betrifft nur die Eingabe in die Benutzeroberfläche und nicht in den Read-Buffer. - M
Das Feld darf nicht leer gelassen werden - N
Es können nur numerische Zeichen eingegeben werden - O
Der Benutzer kann einen Eintrag aus einem Listenfeld auswählen oder selbst einzelne Einträge vornehmen
Beispiel:
:READ &PASS#,"1-99999999","Enter password (numerical)",,"DM" - C
Wichtig!
-
Fügen Sie immer die entsprechenden Kommata ein, unabhängig von den Parametern Eingabeprüfung und Meldungstext im :READ-Statement.
-
Wenn Sie mehrere Standardwerte verwenden (z. B. in einer Dropdown-Box), darf jeder Wert maximal 127 Zeichen lang sein. Werte, die 127 Zeichen überschreiten, führen zu einem Laufzeitfehler.
Tipp: Verwenden Sie Prompt Sets, um Benutzer mit mehr Optionen abzufragen. Weitere Informationen finden Sie unter PromptSets (PRPT). -
Wenn :PUT_VAR vor einem :READ-Statement verwendet wird und die Script-Generierung von :READ manuell (Schaltfläche Abbrechen) oder aufgrund ungültiger Standardwerte abgebrochen wird, enthält das Variablenobjekt weiterhin die Werte, die mit dem :PUT_VAR-Statement gesetzt werden. Weitere Informationen finden Sie unter Generierung zum Aktivierungszeitpunkt oder zur Laufzeit.
Hinweise:
-
In der Script-Variablen wird ein Leerzeichen („ “) gespeichert, wenn der Benutzer keinen Wert eingibt oder auswählt.
-
Das Script-Statement schreibt alle offenen Transaktionen des Scripts in die AE-Datenbank. Weitere Informationen finden Sie unter Script-Verarbeitung.
-
Um Werte und Wertebereiche frei zu kombinieren, trennen Sie sie durch Kommata.
-
Für die Eingabeprüfung können Sie Buchstaben, Zahlen oder eine Kombination aus beidem verwenden. Wenn Sie Buchstaben und Zahlen kombinieren, wird die Anzahl der Zeichen überprüft.
Beispiel: Bauen Sie den Parameter wie folgt auf, um Buchstaben und Zahlen zu kombinieren.
:READ &INPUT#, "A-F,1-9,01-99,001-999","Please select" -
Geben Sie Kommata und Bindestriche mit einfachen Anführungszeichen an, wenn sie nicht als Trennzeichen gelesen werden sollen.
Beispiel: Der Benutzer kann entweder den Wert 1-5 oder den Wert 8,9 wählen.
:READ &OPTION#,"'1-5','8,9'",'Please select','1-5'
Der Eingabedialog zeigt den Objektnamen in der Symbolleiste an. Verwenden Sie die Script-Statement-Parameter, um das Aussehen und den Inhalt des Dialogs zu definieren.
- Zahlenfeld
Definieren Sie einen kontinuierlichen numerischen Wertebereich, wie z. B. 0-255 mit der Option N der Eingabeprüfung, um ein Zahlenfeld mit Pfeil nach oben und unten im Dialog anzuzeigen. - Listenfeld
Definieren Sie eine feste Wertemenge wie z. B. A, B, C im Parameter Eingabeprüfung, um die Werte in einem Listenfeld anzuzeigen. - Textfeld
Definieren Sie im Parameter Eingabeprüfung einen Bereich wie z. B. A, 5-9, um ein Eingabefeld anzuzeigen.
Beispiele
Das Script im folgenden Beispiel erstellt einen Dialog, der den Benutzer nach einer Überschrift fragt. Die Eingabe, die der Benutzer vornimmt, wird nicht überprüft, und der Benutzer kann das Feld auch leer lassen. Die Zeichen werden sofort in Großbuchstaben umgewandelt.
:READ &HEADLINE#,"00","Please enter headline"
Das folgende Beispiel fragt den Benutzer auch nach einer Überschrift. Der Dialog schlägt keinen Standardwert vor und validiert die Eingabe nicht. Die Eingabe von Kleinbuchstaben ist möglich.
:READ &HEADLINE#,,,,"K"
Das folgende Beispiel fragt den Benutzer nach einer Zahl. Die Option Eingabeformatierung ist auf N gesetzt, so dass der Dialog ein Zahlenfeld enthält. Es werden nur Zahlen von 0 bis 5 akzeptiert.
:READ &NUMBER#,"0-5","Please enter number",,"N"
Das folgende Beispiel fragt den Benutzer nach einem Datum. Die Eingabe muss ein gültiges Datum im Format JJMMTT sein und darf nicht leer sein.
:READ &DATE1#,"YYMMDD","Please specify a date (YYMMDD)",,"M"
Das folgende Beispiel fragt den Benutzer nach einer Signatur. Der Standardwert im Eingabefeld ist A. Der im Feld eingegebene Wert wird validiert, um zu prüfen, ob er mit den zulässigen Werten von A, X und Zahlen zwischen 5 und 9 übereinstimmt.
:READ &LKZ#,"A,X,5-9","Please enter List Signature","A"
Das folgende Beispiel fordert den Benutzer auf, ein Passwort mit maximal 8 Zeichen einzugeben. Die Optionen D, M und K der Eingabeformatierung legen fest, dass das Feld gesichert ist, Buchstaben nicht in Großbuchstaben umgewandelt werden und das Feld nicht leer gelassen werden darf.
:READ &PASS#,"08","Please enter password (max. 8 characters)",,"DMK"
Das folgende Beispiel fragt den Benutzer nach einer E-Mail-Adresse. Der Benutzer hat die Auswahl zwischen drei E-Mail-Adressen. Um zu vermeiden, dass der Bindestrich als Wertebereich interpretiert wird, wird die letzte Adresse in einfache Anführungszeichen gesetzt.
:READ &USER#,"brown@automic.us,johnson@automic.us,'smith@late-night.com'", "Please select user"
Das folgende Beispiel fordert den Benutzer auf, eine Adresse auszuwählen oder eine neue einzugeben.
:READ &USER#,"brown@automic.us,johnson@automic.us,'smith@late-night.com'", "Please select user",,"O"
Siehe auch: