Aller au contenu

DOUNTIL

DOUNTIL

En bref

La commande DOUNTIL traite un groupe de commandes CL une ou plusieurs fois.

Syntaxe minimale

DOUNTIL COND(…)

Paramètres

  • COND Condition obligatoire

Astuce : dans une session 5250, tapez DOUNTIL 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 DOUNTIL traite un groupe de commandes CL une ou plusieurs fois. Lorsque les commandes ont été traitées, la condition logique fait l'objet d'une évaluation.

Si l'expression logique est fausse (0 logique), les commandes de ce groupe DOUNTIL sont traitées autant de fois que le résultat de l'évaluation de l'expression est faux. Si l'expression logique devient vraie (1 logique), le contrôle passe à la prochaine commande suivant la commande ENDDO associée.

Restrictions :

  • Cette commande est admise 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 : DOUNTIL - Groupe de commandes

DCL   VAR(&INT)  TYPE(*INT)  LEN(2)  VALUE(10)
 :
DOUNTIL   COND(&INT *GT 100)
 :  (groupe de commandes CL)
 CHGVAR   VAR(&INT)  VALUE(&INT + &VAL)
ENDDO

Le groupe de commandes entre DOUNTIL et ENDDO est traité jusqu'à ce que la valeur de &INT soit supérieure à 100 lors du traitement de la commande ENDDO. Le contenu du groupe DOUNTIL est traité au moins une fois, quelle que soit la valeur de &INT au début du groupe.

Exemple 2 : DOUNTIL - Groupe de commandes renouvelé en permanence

DOUNTIL   COND('0')
 :  (groupe de commandes CL)
ENDDO

Le groupe de commandes entre DOUNTIL et ENDDO est traité jusqu'à la rencontre d'une commande LEAVE ou GOTO.

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