ITERATE
Itérer
Iterate
En bref
La commande ITERATE interrompt le traitement des commandes dans la boucle de commandes DOWHILE, DOUNTIL ou DOFOR associée et passe le contrôle à la commande ENDDO associée.
Syntaxe minimale
ITERATE
Paramètres
-
CMDLBLLabel de la commande
Astuce : dans une session 5250, tapez ITERATE 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 ITERATE interrompt le traitement des commandes dans la boucle de commandes DOWHILE, DOUNTIL ou DOFOR associée et passe le contrôle à la commande ENDDO associée. La partie conditionnelle de DOWHILE, DOUNTIL ou DOFOR est évaluée et le traitement reprend en conséquence.
En indiquant le label de commande facultatif, le traitement passe directement à la commande ENDDO du groupe de commandes DO associé.
Restrictions :
- Cette commande est admise uniquement dans un programme CL ou une procédure CL ILE.
- Cette commande est admise uniquement à l'intérieur d'un groupe de commandes DOWHILE, DOUNTIL ou DOFOR.
Paramètres
| Mot-clé | Description | Valeurs possibles | Remarques |
|---|---|---|---|
| CMDLBL | Label de la commande | Nom simple, *CURRENT | Facultatif, positionnel 1 |
Label de la commande (CMDLBL)
Le label doit se trouver au sein du même programme que la commande ITERATE et s'appliquer à un groupe actif de commandes DOWHILE, DOUNTIL ou DOFOR. Vous ne pouvez pas indiquer le label à l'aide d'une variable CL.
- *CURRENT
- Itère sur la boucle la plus centrale à proximité de cette commande ITERATE.
- nom-simple
- Indiquez le nom de label de la commande itérée DOWHILE, DOUNTIL, or DOFOR située à proximité.
Exemples
DCL VAR(&INT) TYPE(*INT) LEN(2) DCL VAR(&NAME) TYPE(*CHAR) LEN(10) : DOUNTIL COND(&INT *GT 100) : (groupe de commandes CL) IF COND(&NAME *EQ *NONE) THEN(ITERATE) CHGVAR VAR(&INT) VALUE(&INT + 1) : (groupe de commandes CL) ENDDO /* ITERATE passe le contrôle ici */
Lorsque la commande IF évalue la valeur de &NAME à *NONE, la commande ITERATE est traitée. Le contrôle passe à la commande ENDDO, la condition indiquée à la commande DOUNTIL associée est évaluée. Si la valeur de &INT est inférieure ou égale à 100, la boucle est traitée à nouveau. Si elle est égale ou supérieure à 101, le contrôle passe à la commande ENDDO associée.
Messages d'erreur
Aucun
© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.