ELSE
Sinon
En bref
La commande ELSE (Sinon) est utilisée avec une commande IF pour définir une autre commande dont le traitement est soumis à une condition.
Syntaxe minimale
ELSE
Paramètres
-
CMDCommande
Astuce : dans une session 5250, tapez ELSE 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 ELSE (Sinon) est utilisée avec une commande IF pour définir une autre commande dont le traitement est soumis à une condition. La commande ELSE n'est traitée que si le résultat de l'évaluation de l'expression logique sur la commande IF précédente est faux. S'il est vrai, la commande ELSE et les commandes associées ne seront pas traitées.
La commande ELSE peut contenir une commande CL ou un groupe DO à traiter si la condition n'est pas remplie.
Il n'est pas obligatoire que chaque commande IF soit suivie d'une commande ELSE, mais chaque commande ELSE codée doit correspondre à une commande IF qui la précède. Si vous utilisez des commandes IF imbriquées, une commande ELSE donnée correspond toujours à la commande IF du niveau d'imbrication le plus profond qui ne soit pas encore associée à une autre commande ELSE. Bien que facultatif, le codage de toutes les commandes ELSE permet de repérer plus clairement le début et la fin de chaque niveau d'imbrication.
Restrictions: La commande ELSE est admise uniquement dans un programme CL ou une procédure CL ILE. Elle doit être associée à une commande IF qui la précède.
Paramètres
| Mot-clé | Description | Valeurs possibles | Remarques |
|---|---|---|---|
| CMD | Commande | Chaîne de commandeCommand string | Facultatif, positionnel 1 |
Commande (CMD)
Indique la ou les commandes, dans un groupe DO, destinées à être traitées si le résultat de l'évaluation de l'expression sur la commande IF correspondante est faux.
Si la commande indiquée dans ce paramètre est une commande DO, toutes les commandes précisées dans le groupe DO sont considérées comme faisant partie de cette commande. Si aucune commande n'est précisée, aucun traitement ne sera exécuté pour la condition fausse.
Si une commande indiquée par le mot clé CMD ne figure pas sur la même ligne que le mot clé, la parenthèse ouvrante qui suit CMD doit être indiquée sur la même ligne, suivie d'un signe plus (+) ou moins (-) pour permettre la continuation. La commande et la parenthèse fermante peuvent dans ce cas être indiquées sur la ligne suivante. Par exemple :
ELSE CMD( +
GOTO C)
Si la commande est fractionnée sur plusieurs lignes, un caractère de continuation (+ ou -) doit être indiqué à la fin de chaque ligne.
Si vous indiquez une commande DO, entourez uniquement celle-ci de parenthèses (et non les autres commandes faisant partie du groupe DO). Par exemple :
ELSE CMD(DO)
CMD1
CMD2
.
.
.
ENDDO
Bien qu'admises dans un programme CL ou une procédure CL ILE, les commandes ci-dessous ne peuvent pas être indiquées avec la commande ELSE :
- ENDDO (Fin de groupe Do)
- MONMSG (Intercepter message)
- PGM (Programme)
- ENDPGM (Fin de programme)
- DCL (Déclarer une variable CL)
- DCLF (Déclarer un fichier)
- une autre commande ELSE
- WHEN, OTHERWISE, ENDSELECT
De plus, vous ne pouvez pas indiquer MONMSG comme commande qui suit la commande ELSE.
Exemples
Exemple 1 : Utilisation des commandes ELSE et IF
IF (&A *GT &B) THEN(CHGVAR VAR(&A) VALUE(&B)) ELSE (CHGVAR &B &A)
Si la valeur de &A est supérieure à celle de &B, &A prend la même valeur que &B. Si &A est inférieure ou égale à &B, le résultat du test est faux. La commande CHGVAR à la commande ELSE est traitée et la valeur de &B prend la même valeur que &A. (Reportez-vous à la commande CHGVAR pour obtenir la description de cette commande et de ses paramètres.)
Exemple 2 : Niveaux de commandes imbriqués
IF COND(&A *EQ &B) + THEN(IF (&C *EQ &D) + THEN(IF (&C *EQ &F) THEN(DO))) CMD1 CMD2 : ENDDO ELSE CMDX ELSE CMDY ELSE DO
Cet exemple illustre l'utilisation des niveaux imbriqués des commandes IF avec une commande ELSE associée à chaque IF. L'utilisation des commandes ELSE facilite l'identification des niveaux imbriqués de commandes IF.
Messages d'erreur
Aucun
© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.