:READ

Verwenden Sie die Script-Anweisung :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 der :READ-Anweisung hängt vom Kontext ab, in dem Sie diese Script-Anweisung 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 die :READ-Anweisung, um die folgenden Daten aus dem Read-Buffer abzurufen:

So lesen Sie Daten aus, die im Read-Buffer gespeichert sind

Speichern Sie eine Script-Variable im Read-Buffer mit einer :PUT_READ_BUFFER-Anweisung. Aktivieren Sie ein Objekt mit der Funktion ACTIVATE_UC_OBJECT. Rufen Sie den Wert der Variablen, die Sie im Read-Buffer gespeichert haben, mit einer :READ-Anweisung 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 "Diese Benachrichtigung wurde von der folgenden Aufgabe ausgelöst:"
:PRINT "Name: &UC_CAUSE_NAME"
:PRINT "RunID: &UC_CAUSE_NR"
:PRINT "Status: &UC_CAUSE_STATE"
:PRINT "Rückgabewert: &UC_CAUSE_RETCODE"

:READ-Benutzerdialoge

Schreiben Sie die :READ-Anweisung zwischen eine :BEGINREAD- und eine :ENDREAD-Anweisung, um eine Anfrage auszulösen und sie in der Ansicht Anforderungen für Benutzereingaben anzuzeigen. Die vom Benutzer eingegebenen Daten werden in Variablen gespeichert und können für die weitere Verarbeitung verwendet werden. Weitere Informationen finden Sie unter Eingabeaufforderungen (Anfragen).

:READ-Anweisungen lösen nur eine Anforderung aus, wenn Folgendes zutrifft:

:READ-Anweisungen lösen in den folgenden Situationen keine Anfrage aus, sondern verwenden die Standardwerte:

  • Sie haben die Option Aufgabe generieren zur: Laufzeit auf der Seite Attribute des Objekts ausgewählt.
  • Sie haben die Option Aufgabe generieren zur: Laufzeit für den Workflow ausgewählt, in dem das Objekt ausgeführt wird.
  • Die Aufgabe läuft in einer Schedule.
  • Die Aufgabe wird mit einer Script-Funktion wie z. B. ACTIVATE_UC_OBJECT aktiviert.
  • Eine CallAPI startet die Aufgabe.
  • Die Aufgabe wird über eine Objekt-Einstellung aktiviert, wie z. B. auf der Registerkarte Nachbedingung einer Aufgabe im Workflow.
  • Die Aufgabe läuft in einer Gruppe, die als Queue 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 der Anfragen ermöglicht. Weitere Informationen finden Sie unter GET_ATT.

Der Report protokolliert automatisch Werte, die in die Anfrage eingegeben werden. Sie können dieses Verhalten für Job-Reports in den Parametern der Script-Anweisung deaktivieren.

So lesen Sie Benutzereingaben aus dem Read-Buffer aus

Schreiben Sie die :READ-Anweisung in einen umschließenden :BEGINREAD....:ENDREAD-Block, um den Benutzer abzufragen und die Werte im Read-Buffer zu speichern.

Syntax

: REA[D] InVariable, [Eingabeprüfung], [Meldungstext] [, Standardwert] [, Eingabeverarbeitung]

Parameter

  • :READ
    Abfragen zur Benutzereingabe

  • InVariable
    Variable, in der Benutzereingaben gespeichert werden.
    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

  • Eingabeprüfung
    Überprüft Benutzereingaben
    Format: Script-Literal oder Script-Variable
    Maximale Länge: 1024 Zeichen, mit maximal 127 Zeichen pro Eingabeparameter
    Beispiel: Jede der für Eingabeparameter verwendeten Variablen im folgenden Script ist auf 127 Zeichen begrenzt.
    :READ &INPUT#,'&var1#,&var2#,&var3#','Wert auswählen',&var3#
    Zulässige Werte:

    • 00
      Keine Validierung (Standardwert)
    • 01 - 99
      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
      Angegebenes Format für Datumswerte und Zeiten
      Beispiel: YYYYMMDD
      Weitere Informationen finden Sie unter Datums-, Zeit- und Periodenformate in Scripts.
    • Wert, Wert1 - Wert2
      Wert oder Wertebereich, mit dem der vom Benutzer eingegebene Wert übereinstimmen muss

  • Meldungstext
    Text, der dem Benutzer in der Anforderung angezeigt wird
    Format: Script-Literal oder Script-Variable
    Standard: "Bitte geben Sie einen Wert für die Variable Variablenname ein"

  • Standardwert
    Vorgeschlagener Standardwert, der im Eingabefeld angezeigt wird
    Format: Script-Literal oder Script-Variable
    Maximale Länge: 1024 Zeichen
    Wichtig! Ein leerer String kann nicht als Standardwert verwendet werden. Ein Leerzeichen sich muss innerhalb von Anführungszeichen befinden.

  • Eingabeverarbeitung
    Gibt die Option an, wie Eingaben verarbeitet werden sollen
    Format: Script-Literal oder Script-Variable
    Zulässige Werte:

    • C
      (Nur wenn die READ-Anweisung innerhalb eines :BEGINREAD... :ENDREAD-Blocks verwendet wird) Positioniert den Cursor in diesem Eingabefeld 
    • D
      Zeigt eingegebene Zeichen als Sternchen (*)
      Diese Einstellung wird normalerweise 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 Job-Objekt-Report
      Hinweis: Ohne diese Option werden :READ-Anweisungen und Benutzereingaben im generierten Job-Objekt in Form von REMARK-Zeilen dokumentiert.
    • K
      Erlaubt Kleinbuchstaben in der Eingabe
      Hinweis: Ohne diese Option wird die Eingabe automatisch in Großbuchstaben eingegeben. Diese Option betrifft nur die Eingabe auf der Benutzeroberfläche und nicht in den Read-Buffer.
    • M
      Das Feld darf nicht leer bleiben
    • N
      Nur numerische Zeichen können eingegeben werden
      Hinweis: Diese Option wirkt sich nur auf die Eingabe auf der Benutzeroberfläche und nicht auf den Read-Buffer aus.
    • O
      Der Benutzer kann einen Eintrag aus einem Listenfeld auswählen oder selbst einzelne Einträge vornehmen
    Hinweis: Sie können die Optionen D und N nicht kombiniert verwenden. Um geschützte Einträge zu konfigurieren, die numerisch sein müssen, verwenden Sie den Parameter Eingabeprüfung.
    Beispiel:
    :READ &PASS#,"1-99999999","Passwort eingeben (numerisch)",,"DM"

Wichtig!

  • Fügen Sie immer die entsprechenden Kommata ein, unabhängig von den Parametern Eingabeprüfung und Meldungstext in der :READ-Anweisung.

  • Wenn Sie mehrere Standardwerte verwenden (z. B. in einem Dropdown-Feld), darf jeder Wert maximal 127 Zeichen lang sein. Werte, die 127 Zeichen überschreiten, führen zu einem Laufzeitfehler.
    Tipp: Verwenden Sie PromptSets, um Benutzer mit mehr Optionen abzufragen. Weitere Informationen finden Sie unter PromptSets (PRPT).

  • Wenn :PUT_VAR vor einer :READ-Anweisung verwendet wird und die Script-Generierung von :READ manuell (Schaltfläche Abbrechen) oder aufgrund ungültiger Standardwerte abgebrochen wird, enthält das VARA-Objekt weiterhin die Werte, die mit der :PUT_VAR-Anweisung 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.

  • Die Script-Anweisung 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:Strukturieren Sie den Parameter wie folgt, um Buchstaben und Zahlen zu kombinieren.
    :READ &INPUT#, "A-F,1-9,01-99,001-999", "Bitte auswählen"

  • 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 auswählen.
    :READ &OPTION#,'1-5','8,9'','Bitte auswählen','1-5' auswählen. 

Die Anforderung zeigt den Objektnamen in der Symbolleiste an. Verwenden Sie die Parameter der Script-Anweisung, um das Aussehen und den Inhalt des Anfrage 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 in der Anfrage anzuzeigen.
  • Listenauswahl
    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 Anfrage, die 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" , "Bitte Überschrift eingeben"

Das folgende Beispiel fragt den Benutzer auch nach einer Überschrift. Die Anforderung 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, sodass die Anfrage ein Zahlenfeld enthält. Es werden nur Zahlen von 0 bis 5 akzeptiert.

: READ   &NUMBER# , "0-5" , "Bitte eine Zahl eingeben" ,, "N"

Das folgende Beispiel fragt den Benutzer nach einem Datum. Die Eingabe muss ein gültiges Datum im Format YYMMDD sein und darf nicht leer sein.

: READ   &DATE1# , "YYMMDD" , "Bitte ein Datum eingeben (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" , "Bitte Listensignatur eingeben" , "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" , "Bitte das Passwort eingeben (max. 8 Zeichen)" ,, "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'" , "Bitte Benutzer auswählen"

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'" , "Bitte Benutzer auswählen" ,, "O"

Siehe auch: