Manuel des Scripts Automation Engine > Organisation fonctionnelle > Elaboration et traitement des Scripts > :IF... :ELSE... :ENDIF

:IF... :ELSE... :ENDIF

Instructions de script : Analyser et exécuter une expression suivant les instructions du résultat.

Syntaxe

:IF Condition
[Instructions]

[:ELSE]

[Instructions Sinon]

:ENDIF

Elément de syntaxe

Description/format

Condition

Une expression formulée au moyen d'un littéral de script, d'une variable de script, d'une fonction de script, d'expressions numériques ou d'opérateurs, et qui fournit un résultat "Vrai" ou "Faux".

Instructions

Une ou plusieurs instructions qui sont exécutées lorsque la condition fournit la valeur "Vrai".
Format : Instruction de script

Instructions Sinon

Une ou plusieurs instructions qui sont exécutées lorsque la condition fournit la valeur "Faux".
Format : Instruction de script

Remarques

L'instruction IF est une structure de contrôle avec laquelle vous pouvez traiter le script en fonction du résultat d'une condition. Il s'agit alors d'une expression logique.

Si la condition est remplie ("Vrai"), les instructions sont exécutées.

Si la condition n'est pas remplie ("Faux"), les instructions Sinon de :ELSE sont exécutées. Si le bloc IF ne comporte aucune branche :ELSE, le script est poursuivi avec la prochaine ligne après :ENDIF.

Vous pouvez également emboîter des blocs IF, sans limitation de profondeur.

Un bloc IF ne doit pas nécessairement contenir une branche ELSE.

Le mot-clé OR permet de lier une condition avec plusieurs valeurs ou plusieurs conditions individuelles.

Une condition a la structure suivante :

Valeur Opérateur de comparaison Valeur de comparaison[OR Valeur de comparaison...]

Exemple :

:IF &ABT# = "EDV" OR "UC4"

Jusqu'à 13 OU doivent exister dans la condition.

La formulation d'une condition contient l'un des opérateurs de comparaison suivants :

Opérateur

Code

Règle

=

EQ

L'expression est "Vrai" lorsqu'au moins une valeur de comparaison correspond à la valeur.

<>

NE

L'expression est "Vrai" lorsqu'aucune valeur de comparaison n'est égale à la valeur.

<
>
<=
>=

LT
GT
LE
GE

L'expression est "Vrai" lorsqu'une valeur de comparaison remplit la clef indiquée.

Comme les Variables de script n'ont pas un type de données explicite et peuvent donc contenir aussi bien des chiffres que des chaînes de caractères, il faut respecter les points suivants lors des comparaisons :

La comparaison est toujours numérique lorsque le contenu des valeurs de comparaison est numérique. Le fait qu'une Variable soit indiquée avec ou sans apostrophes n'a donc aucune importance.

La condition suivante retourne "Vrai" :

:IF "0" = "0"

S'il n'y a aucune valeur numérique, la comparaison qui en résulte est alphanumérique.

La condition suivante retourne "Faux" :

:IF "0" = "abc"

La longueur des chaînes de caractères n'est pas vérifiée lors de la comparaison. La condition suivante retourne "Vrai", car "M" précède "U" dans l'alphabet.

:IF "Henri" < "UC4"

Vous devez prédéfinir les Variables de script qui apparaissent dans la condition.

 

Pour les conditions qui contiennent plusieurs fois le mot-clé OR, un comportement différent peut se produire, en fonction de l'opérateur.

Exemple :
dans ce cas, l'une des valeurs doit convenir afin de remplir la condition.

:IF &WD# = "LU" OR "MA" OR "ME"

La condition suivante est cependant uniquement remplie lorsque la Variable ne correspond à aucune des trois valeurs.

:IF &WD# <> "JE" OR "VE" OR "SA"

Exemples

Ces exemples montrent différentes possibilités de formulation de la condition. Alors que les exemples 1 à 3 mettent en relation une Variable de script avec une ou plusieurs valeurs de comparaison, l'exemple 4 analyse le code retour d'une fonction de script.

:IF &UTILISATEUR# = "TSOS"
!...

:
ENDIF 

:IF &DAT1# EQ &DAT2# OR " "  
!...

:
ENDIF 

:IF &UTILISATEUR# <> "TSOS" OR "SERVICE" OR SYS_USER_NAME()
!...

:
ENDIF 

:IF GET_ATT(OO) = "J" 
!...

:
ENDIF

 

Rubriques connexes :

Elément de script Description
:WHILE... :ENDWHILE Définition d'une boucle permettant de répéter l'exécution de parties du script.