Aller au contenu

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

  • COND Condition 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)
Compatible multitâche : Oui

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.

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