Enfin ! Vous pouvez désormais répéter des blocs de code CL sans utiliser GOTO. Si votre programme doit être structuré, utilisez les nouvelles commandes V5R3. DOUNTIL traite un groupe de commandes CL, une fois au moins. Après ce traitement, la condition logique est évaluée. Si elle est fausse, le groupe
15. Pour effectuer des boucles, utiliser DOUNTIL, DOWHILE et DOFOR (V5R3)

est répété jusqu’à ce qu’elle soit vraie. Le groupe DOUNTIL se termine avec un ENDDO. Voici un exemple :
Dountil (&Int > 100)
…
Enddo DOWHILE
évalue une expression logique et traite le groupe suivant de commandes CL si l’expression est vraie. Les commandes du groupe s’exécutent tant que l’expression continue à être vraie. Le groupe DOWHILE se termine avec un ENDDO, comme l’illustre l’exemple suivant :
Dowhile (&Int < 100)
…
Enddo
DOFOR traite un groupe de commandes CL zéro fois, ou plus, d’après la valeur d’une variable CL de comptage. Il fonctionne comme l’opération FOR de RPG, en exécutant les commandes présentes dans le groupe suivant, puis en augmentant la valeur du compteur et en répétant le groupe jusqu’à ce que la valeur maximale du compteur soit dépassée. Comme avec les autres commandes DO, le groupe DOFOR se termine avec un ENDDO. Dans cet exemple, la boucle s’exécutera 10 fois :
Dofor &Int From(1) To(10)
…
Enddo
Avec ces nouvelles commandes, veillez à ne pas vous retrouver dans une boucle sans fin. Les nouvelles commandes LEAVE et ITERATE vous aideront à naviguer dans le source quand vous utiliserez DOUNTIL, DOWHILE et DOFOR.
Téléchargez cette ressource

Gagner en cyber-résilience avec Insight & Bitdefender
Dans un environnement en constante mutation, où les cyberattaques deviennent plus nombreuses et plus sophistiquées, et où les SI se complexifient par la multiplication des offres SaaS et le multi cloud, les entreprises doivent repenser leur approche de la cybersécurité et faire évoluer leurs bonnes pratiques. Comment gagner en Cyber résilience ?