Téléchargement des produits


Version anglaise


 

 

ADELIA

VADELIA

SADELIA

WADELIA

MADELIA

(I/B)

(I/B) (C/S)

(B) (S)

(I/B) (C/S)

(I) (C/S)

 

Paragraphe d'utilisation

Tous

 

Syntaxe

SI IdVar1 OpérateurLogique IdVar2

TANT_QUE IdVar1 OpérateurLogique IdVar2

 

Description

Les différents opérateurs logiques permettent de tester le contenu ou la valeur de certaines zones dans des expressions de comparaison (SI... ou TANT_QUE...). Il est possible de combiner plusieurs tests dans une même expression avec les opérateurs de liaison ET et OU.

 

Si des zones numériques sont comparées, les zones de longueur différente sont alignées au niveau du point décimal.

Si des zones alphanumériques sont comparées, les zones de longueur différente sont alignées à partir du caractère le plus à gauche. La zone la plus courte est comblée avec des espaces pour pouvoir être égale (en taille) à la plus grande.

 

Une zone positive est toujours plus grande qu'une zone négative.

 

Il n'est pas possible de comparer une zone numérique avec une zone alphanumérique.

 

Il est possible d'utiliser un niveau de parenthèses.

 

Pour l'opérateur = (égal à), il est possible d'écrire :

SI VAR = A;B;C;D

Dans ce cas, le programme teste si la variable VAR est égale à A, à B, à C ou à D. La liaison OU est implicite.

 

Pour l'opérateur <> (différent de), il est possible d'écrire :

SI VAR <> A;B;C;D

Dans ce cas, le programme teste si la variable VAR est différente de A et de B et de C et de D. La liaison ET est implicite.

 

Remarque : les comparaisons >, <, >= et <= se font en fonction de la séquence des caractères EBCDIC pour le module RPG, et des caractères ANSI pour les modules C.

 

Par exemple

SI CODE_OPTION <> '2';'3';'4'

ERREUR

FIN

*SI TOTAL <> 0 ET CODE_REGLEMENT <> 'CHEQUE'

RESULTAT = TOTAL + ( TOTAL * TAX_1 / 100 )

SINON

RESULTAT = TOTAL + ( TOTAL * TAX_2 / 100 )

FIN

SI REPONSE = 'YES';'JA';'SI';'OUI';'DA'

APPELER IMPR_LISTE

FIN

LIRE_AVANT CLIENT

TANT_QUE CLIENTS EXISTE ET NUMERO_LIGNE <= 50

EDITER INFOS_CLIENTS

NUMERO_LIGNE = NUMERO_LIGNE + 1

LIRE_AVANT CLIENT

REFAIRE

 

↑ Haut de page

  • Aucune étiquette