Les instructions de boucle (aussi appelé instructions répétitives) en langage RPG (Report Program Generator) sont les suivantes :
- DOW ... ENDDO
- DOU ... ENDDO
- FOR
- ...
DOW ... ENDDO
L'instruction «DOW» permet la comparaison au début de la boucle, avant même que la suite d'instruction inclus dans la boucle ne soit lancé! On peut voir cette instruction à la manière d'un «IF» se répétant tant et aussi longtemps que la condition est vrai. Voici donc sa syntaxe :
DOW expression_vrai; instruction_exécuté_si_vrai; ENDDO; |
DOU ... ENDDO
L'instruction «UNTIL» permet la comparaison au début de la boucle, avant même que la suite d'instruction inclus dans la boucle ne soit lancé! On peut voir cette instruction à la manière d'un «IF NOT» se répétant tant et aussi longtemps que la condition est fausse. Voici donc sa syntaxe :
DOU expression_fausse; instruction_exécuté_si_fausse; ENDDO; |
FOR
Avec «RPG» l'instruction permettant d'effectuer des comptes de boucles est «FOR». L'«expression1» permet d'identifier la variable devant être utilisé pour effectuer le compteur de boucle. L'«expression2» est la valeur de départ ou d'initialisation du compteur de boucle. L'«expression3» est la valeur de fin du compteur de boucle. L'«expression4» est la valeur de saut ou l'addition effectuer à la variable de compteur. Voici enfin sa syntaxe :
FOR expression1=expression2 TO expression3; instruction; ENDFOR; |
ou
FOR expression1=expression2 BY expression4 TO expression3; instruction; ENDFOR; |