Aller au contenu

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

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

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.

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