Aller au contenu

WAIT

Attendre

En bref

La commande WAIT (Attendre) prend en charge toute entrée provenant d'une unité-écran à partir de laquelle des données utilisateur ont été demandées à l'aide d'une ou plusieurs commandes RCVF (Recevoir fichier écran ou BD), SNDF (Envoyer fichier écran) ou SNDRCVF (Envoyer/recevoir fichier écran)…

Syntaxe minimale

WAIT

Paramètres

  • DEV Variable pour unité répondante
  • OPNID ID ouverture fichier

Astuce : dans une session 5250, tapez WAIT puis F4 pour l'invite de saisie, et F1 sur un paramètre pour son aide.

Aide IBM i de la commande

Texte du F1, IBM i 7.5 en français (bibliothèque QSYS)

Où s'exécute :

  • Programme batch (*BPGM)
  • Programme interactif (*IPGM)
Compatible multitâche : Non

La commande WAIT (Attendre) prend en charge toute entrée provenant d'une unité-écran à partir de laquelle des données utilisateur ont été demandées à l'aide d'une ou plusieurs commandes RCVF (Recevoir fichier écran ou BD), SNDF (Envoyer fichier écran) ou SNDRCVF (Envoyer/recevoir fichier écran) qui n'attendent pas la réception des données d'entrée. Pour ces commandes, la valeur *NO est indiquée au paramètre WAIT ou, dans le cas de SNDF, le mot clé DDS INVITE est spécifié dans le format d'enregistrement envoyé à l'écran, alors qu'un fichier unité particulier est précisé pour la réception des données et leur transfert vers le programme CL ou la procédure CL ILE. A un moment donné, une seule demande d'entrée peut être en état d'attente. Si plusieurs le sont, les données utilisateur de la première unité devant répondre au fichier unité spécifié sont envoyées au programme CL ou à la procédure CL ILE. Si les données sont reçues dans l'intervalle d'attente, l'opération WAIT prend fin et la commande suivante du programme est traitée. Dans le cas contraire, un message d'arrêt programme est envoyé au programme CL ou à la procédure CL ILE.

Le programme attend la réponse d'une unité à une demande d'entrée pendant le nombre de secondes indiqué pour le mot clé WAITRCD de la commande CRTDSPF (Créer un fichier écran), CHGDSPF (Modifier un fichier écran) ou OVRDSPF (Substituer un fichier écran).

Restrictions :

  • Cette commande est valide uniquement pour les fichiers écran dans un programme CL ou une procédure CL ILE. Elle ne peut pas être utilisée avec les fichiers base de données.

Paramètres

Mot-clé Description Valeurs possibles Remarques
DEV Variable pour unité répondante CL variable name, *NONE Facultatif, positionnel 1
OPNID ID ouverture fichier Nom simple, *NONE Facultatif

Variable pour unité répondante (DEV)

Indique le nom de la variable CL qui reçoit le nom de l'unité-écran à partir de laquelle des données utilisateur sont envoyées au programme CL ou à la procédure CL.

*NONE
Aucun nom de variable CL n'est requis car le nom de l'unité répondante n'est pas nécessaire.
nom
Indiquez le nom de la variable CL qui doit recevoir le nom de l'unité répondante. Vous ne pouvez pas indiquer un nom d'unité.

ID ouverture fichier (OPNID)

Indique l'ID d'ouverture de fichier déclaré dans une commande DCLF (Déclarer un fichier) précédente dans le même programme CL ou la même procédure CL ILE. Vous ne pouvez pas indiquer une variable CL comme valeur de ce paramètre.

*NONE
Aucun ID d'ouverture de fichier n'est fourni. Cette commande utilise le fichier associé à la commande DCLF ayant *NONE indiqué au paramètre OPNID. Un seul fichier peut être déclaré dans un programme CL ou une procédure CL ILE ayant *NONE comme ID d'ouverture de fichier.
nom-simple
Indiquez le nom correspondant à la valeur du paramètre OPNID indiqué dans une commande DCLF précédente dans le même programme CL ou la même procédure CL ILE.

Exemples

Exemple 1 : Réception des données utilisateur

DCLF   FILE(MSCREEN)
 :
RCVF   DEV(DEV1)  WAIT(*NO)
 :
RCVF   DEV(DEV2)  WAIT(*NO)
 :
WAIT  DEV(&DEVNAM)

Dans cet exemple, le fichier d'unité MSCREEN est utilisé pour recevoir les données utilisateur. Les commandes RCVF indiquent que la procédure n'attend pas les données. La commande WAIT entraîne l'attente par la procédure que le fichier d'unité-écran MSCREEN lui transmette les données d'entrée à partir de l'une des unités. Le nom de l'unité-écran qui répond est placé dans la variable CL &DEVNAM. Les données reçues sont placées dans la variable CL associée au format d'enregistrement du fichier déclaré.

Exemple 2 : Réception des données à l'aide de l'ID d'ouverture de fichier

DCLF   FILE(DF1)  RCDFMT(FMT1)  OPNID(DSPF1)
 :
RCVF   DEV(DEV1)  OPNID(DSPF1)  WAIT(*NO)
 :
WAIT   DEV(*NONE)  OPNID(DSPF1)

Dans cet exemple, la commande RCVF recommande l'utilisation du fichier écran associé à l'ID d'ouverture de fichier DSPF1, à savoir DF1. La procédure n'attend pas les données utilisateur. Lorsque la commande WAIT est émise avec le même ID d'ouverture de fichier, les données reçues sont placées dans les variables CL déclarées pour le format d'enregistrement FMT1 du fichier écran DF1. Le nom de l'unité qui répond n'est pas renvoyé dans une variable CL.

Messages d'erreur

Messages *ESCAPE

CPF0859
Dépassement de la mémoire tampon E/S dû à une substitution de fichier.
CPF0882
Commande WAIT utilisée sans commande RCVF ou SNDRCVF.
CPF0886
L'enregistrement contient une zone de données incorrecte.
CPF0888
Commande non exécutée car travail en cours d'arrêt.
CPF0889
Aucune donnée disponible dans le délai indiqué pour cette demande d'entrée.
CPF4101
Fichier &2 de &3 non trouvé ou fichier spoule en entrée manquant.
CPF5068
Unité-programme &4 non trouvée dans fichier &2 de &3.
CPF5070
Aucune unité-programme acquise au fichier &2 de &3.

© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.