DOWHILE
DOWHILE
En bref
La commande DOWHILE permet d'évaluer une expression logique et, selon le résultat, de traiter ou non des commandes dans un programme CL ou une procédure CL ILE.
Syntaxe minimale
DOWHILE COND(…)
Paramètres
-
CONDCondition obligatoire
Astuce : dans une session 5250, tapez DOWHILE 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)
La commande DOWHILE permet d'évaluer une expression logique et, selon le résultat, de traiter ou non des commandes dans un programme CL ou une procédure CL ILE. Si l'expression logique est vraie (1 logique), les commandes de ce groupe DOWHILE sont traitées tant que le résultat de l'évaluation de l'expression est vérifié. Si l'expression logique devient fausse (0 logique), le contrôle passe à la prochaine commande suivant la commande ENDDO associée.
Restrictions :
- Cette commande est valide uniquement dans un programme CL ou une procédure CL ILE.
- Jusqu'à 25 niveaux d'imbrication de commandes DO, DOWHILE, DOUNTIL et DOFOR sont admis.
Paramètres
| Mot-clé | Description | Valeurs possibles | Remarques |
|---|---|---|---|
| COND | Condition | Valeur logiqueLogical value | Obligatoire, positionnel 1 |
Condition (COND)
Indique l'expression logique évaluée pour déterminer une condition dans le programme et définir si la boucle est traitée à nouveau. Pour obtenir la description des expressions logiques, reportez-vous à la rubrique correspondante du manuel Rubriques CL de la catégorie Programmation de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/. Notez que ces dernières peuvent contenir des variables, des constantes et les fonctions intégrées %SUBSTRING, %SWITCH et %BINARY.
Pour déterminer si une valeur NULL a été affectée à un pointeur, la variable de pointeur CL peut être comparée à la valeur spéciale *NULL, sous réserve que le source CL soit compilé avec la commande CRTCLMOD (Créer un module CL) ou la commande CRTBNDCL (Créer un programme CL lié). Si le source CL est compilé avec la commande CRTCLPGM (Créer un programme CL), comparez la variable de pointeur CL à une autre variable de pointeur CL qui a été déclarée avec ADDRESS(*NULL) et n'a pas été modifiée.
Ce paramètre est obligatoire.
- valeur-logique
- Indiquez le nom d'une variable logique CL ou une expression logique.
Exemples
Exemple 1 : DOWHILE - Groupe de commandes jamais traité
DCL VAR(&LGL) TYPE(*LGL) VALUE('0') /* Faux */
:
DOWHILE COND(&LGL)
: (groupe de commandes CL)
ENDDO
:
Le groupe de commandes entre DOWHILE et ENDDO n'est pas traité car la valeur initiale de &LGL est fausse. Le contrôle passe à la commande qui suit ENDDO.
Exemple 2 : DOWHILE - Groupe de commandes renouvelé en permanence
DCL VAR(&LGL) TYPE(*LGL) VALUE('1') /* Vrai */
:
DOWHILE &LGL
: (groupe de commandes CL)
ENDDO
:
Le groupe de commandes entre DOWHILE et ENDDO est traité jusqu'à ce que valeur de &LGL soit fausse (0 logique). Cette boucle continuera jusqu'à ce qu'une commande LEAVE ou GOTO indiquant un label hors du groupe DOWHILE soit exécutée.
Messages d'erreur
Aucun
© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.