:READ

Utilisez l'instruction de script :READ pour récupérer les données à partir du tampon de lecture. Le tampon de lecture conserve les variables, afin de rendre les valeurs disponibles pour un traitement ultérieur. La fonction de l'instruction :READ dépend du contexte dans lequel vous utilisez cette instruction de script.

Important ! N'utilisez pas de valeurs de texte avec des sauts de ligne dans le tampon de lecture. :READ ignore les caractères après le premier saut de ligne.

Lire des variables dans le tampon de lecture

Utilisez l'instruction :READ pour récupérer les données suivantes dans le tampon de lecture :

Lire les données conservées dans le tampon de lecture

Enregistrez une variable de script dans le tampon de lecture avec une instruction :PUT_READ_BUFFER. Activez un objet avec la fonction ACTIVATE_UC_OBJECT. Récupérez la valeur de la variable enregistrée dans le tampon de lecture avec une instruction :READ. Chaque variable de script du tampon ne peut être lue qu'une seule fois. La variable est supprimée du tampon après lecture.

Exemple

Dans l'exemple suivant, le nom de l'agent d'un job est conservé dans le tampon de lecture et active un objet Notification.

:SET &att_host# = GET_ATT(HOST)
:
PUT_READ_BUFFER host# = '&att_host#'

:SET &ret# = ACTIVATE_UC_OBJECT('CALLOP')

Dans l'objet Notification, le script suivant récupère le nom de l'agent conservé par le script précédent :

:READ &host#,,

:PRINT "Agent: &host#"

L'exemple suivant illustre un script d'objet Notification. Le script lit les variables UC_CAUSE* pour récupérer les informations relatives à la tâche ayant activé la notification. Le script écrit les informations de la tâche dans le rapport d'activation :

: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"

Boîtes de dialogue utilisateur :READ

Écrivez l'instruction :READ entre une instruction :BEGINREAD et une instruction :ENDREAD pour afficher une boîte de dialogue de saisie utilisateur. Les données saisies par l'utilisateur sont conservées dans les variables et peuvent être utilisées pour un traitement ultérieur.

Les instructions :READ n'affichent les boîtes de dialogue que si l'une des conditions suivantes est vraie :

Les instructions :READ n'affichent pas les boîtes de dialogue dans les cas suivants et ce sont les valeurs par défaut qui sont utilisées à la place :

Conseil : Utilisez la fonction de script GET_ATT avec l'attribut DCMODUS pour déterminer si un script est, ou non, exécuté en un mode permettant d'afficher la boîte de dialogue.

Le rapport journalise automatiquement les valeurs qui sont saisies dans les boîtes de dialogue. Vous pouvez désactiver ce comportement pour les rapports de jobs dans les paramètres de l'instruction de script.

Lire la saisie utilisateur dans le tampon de lecture

Écrivez l'instruction :READ dans un bloc :BEGINREAD...:ENDREAD délimité pour l'invite utilisateur et enregistrer les valeurs dans le tampon de lecture.

Syntaxe

:REA[D] InVariable, [Input Check], [Message Text] [, Default Value] [, Input Handling]

Paramètres

Important !

Remarques :

La boîte de dialogue de saisie affiche le nom d'objet dans la barre de titre. Utilisez les paramètres d'instruction de script pour définir l'apparence et le contenu de la boîte de dialogue.

Exemples

Le script de l'exemple suivant crée une boîte de dialogue demandant à l'utilisateur une ligne d'en-tête. La saisie de l'utilisateur n'est pas validée et les champs peuvent rester vides. Les caractères sont immédiatement convertis en majuscules.

:READ &HEADLINE#,"00","Please enter headline"

L'exemple suivant illustre aussi une demande de ligne d'en-tête à l'utilisateur. La boîte de dialogue ne propose pas de valeur par défaut et ne valide pas la saisie. La saisie de minuscules est possible.

:READ &HEADLINE#,,,,"K"

L'exemple suivant illustre une demande de chiffre à l'utilisateur. L'option Traitement de la saisie étant sur N, la boîte de dialogue contient un champ numérique. Seuls les nombres entre 0 et 5 sont acceptés.

:READ &NUMBER#,"0-5","Please enter number",,"N"

L'exemple suivant illustre une demande de date à l'utilisateur. La saisie doit être une date valide au format AAMMJJ et est obligatoire.

:READ &DATE1#,"YYMMDD","Please specify a date (YYMMDD)",,"M"

L'exemple suivant illustre une demande de signature à l'utilisateur. La valeur par défaut du champ de saisie est A. la valeur saisie dans le champ est validée pour vérifier si elle correspond aux valeurs autorisées de A, X et aux chiffres entre 5 et 9.

:READ &LKZ#,"A,X,5-9","Please enter List Signature","A"

Dans l'exemple suivant, le système demande à l'utilisateur de saisir un mot de passe de 8 caractères maximum. Les options Input Handling D, M et K déterminent que le champ est sécurisé, que les lettres ne sont pas converties en majuscules et que le champ doit être obligatoirement renseigné, dans l'ordre.

:READ &PASS#,"08","Please enter password (max. 8 characters)",,"DMK"

L'exemple suivant illustre une demande d'adresse email à l'utilisateur. L'utilisateur peut sélectionner trois adresses email. Pour que le trait d'union ne soit pas interprété en tant que plage de valeurs, la dernière adresse est entre guillemets simples.

:READ &USER#,"brown@automic.us,johnson@automic.us,'smith@late-night.com'", "Please select user"

Dans l'exemple suivant, le système demande à l'utilisateur de sélectionner une adresse ou d'en saisir une nouvelle.

:READ &USER#,"brown@automic.us,johnson@automic.us,'smith@late-night.com'", "Please select user",,"O"

Voir aussi :

voiraussi

Notification (CALL)

Objets PromptSet (PRPT)

:PUT_READ_BUFFER, :PUT_PROMPT_BUFFER