LEAVE
Quitter
Leave
En bref
La commande LEAVE termine le traitement des commandes dans la boucle DOWHILE, DOUNTIL ou DOFOR correspondante et passe le contrôle à la première commande qui suit la commande ENDDO associée.
Syntaxe minimale
LEAVE
Paramètres
-
CMDLBLLabel de la commande
Astuce : dans une session 5250, tapez LEAVE 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 LEAVE termine le traitement des commandes dans la boucle DOWHILE, DOUNTIL ou DOFOR correspondante et passe le contrôle à la première commande qui suit la commande ENDDO associée.
La séquence de commandes suivante illustre ce flot.
L1: DOWHILE &LGL1
...
L2: DOWHILE &LGL2
...
IF &LGL3 (LEAVE CMDLBL(L1))
IF &LGL4 LEAVE
...
ENDDO
/* Ici si le résultat de l'évaluation de &LGL4 est vrai */
...
ENDDO
/* Ici si le résultat de l'évaluation de &LGL3 est vrai */
...
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 LEAVE 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
- Laisse la boucle la plus centrale à proximité de cette commande LEAVE.
- nom-simple
- Indiquez le nom de label de la commande DOWHILE, DOUNTIL, or DOFOR située à proximité dont le traitement prend fin.
Exemples
Exemple 1 : LEAVE - Boucle DOFOR simple
DCL VAR(&INT) TYPE(*INT) LEN(2) DCL VAR(&NAME) TYPE(*CHAR) LEN(10) : DOFOR VAR(&INT) FROM(0) TO(10) : (groupe de commandes CL) IF COND(&NAME *EQ *NONE) THEN(LEAVE) : (groupe de commandes CL) ENDDO
La commande LEAVE interrompt le traitement du groupe DOFOR actif et le traitement se poursuit avec la commande qui suit ENDDO.
Exemple 2 : LEAVE avec boucles imbriquées
DCL VAR(&INT) TYPE(*INT) LEN(2)
DCL VAR(&NAME) TYPE(*CHAR) LEN(10)
DCL VAR(&LGL) TYPE(*LGL) VALUE('1') /* Vrai */
:
LOOP1: DOFOR VAR(&INT) FROM(0) TO(10)
: (groupe de commandes CL)
LOOP2: DOUNTIL COND(&LGL)
: (groupe de commandes CL)
IF COND(&NAME *EQ *NONE) THEN(LEAVE CMDLBL(LOOP1))
: (groupe de commandes CL)
ENDDO /* DOUNTIL */
: (groupe de commandes CL)
ENDDO /* DOFOR */
La commande LEAVE interrompt le traitement des groupes actifs DOUNTIL et DOFOR et le traitement continue avec la commande qui suit la commande ENDDO correspondant à la commande DOFOR.
Messages d'erreur
Aucun
© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.