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
TANT_QUE Condition
Description
Cet ordre correspond à l'évaluation de conditions.
Cette évaluation peut être composée de plusieurs conditions.
Elle marque le début du bloc de traitement qui est exécuté tant que la condition est vraie.
La syntaxe de la condition est la même que celle de l'ordre SI.
Les opérateurs logiques sont : = , > , < , >= , <= , <>, COMMENCE_PAR, CONTIENT, COMPRIS_ENTRE, EXISTE, N_EXISTE_PAS, NON.
De plus, pour les programmes de type VADELIA et SADELIA, il est possible d'utiliser des expressions arithmétiques ou de concaténation dans les facteurs droits ou gauches des opérateurs logiques (les opérateurs arithmétiques sont davantage prioritaires que les opérateurs logiques).
Si la condition exprimée n'est pas vérifiée, le programme continue à l'instruction qui suit l'ordre REFAIRE associé.
Si la condition exprimée est vérifiée, le programme exécute toutes les instructions jusqu'à l'ordre REFAIRE associé et se repositionne sur l'ordre TANT_QUE.
On doit trouver un ordre REFAIRE pour chaque ordre TANT_QUE.
Remarque : il est possible d'imbriquer des ordres TANT_QUE jusqu'à 100 niveaux.
Par exemple
a) Expression simple :
*
LIRE_SUIVANT COMMANDES
TANT_QUE CODE COMMENCE_PAR 'S'
IMPRIMER FMT_LIGNE
LIRE_SUIVANT COMMANDES
REFAIRE
b) Expression complexe :
*
TANT_QUE CODE = 'S' ET ( CATEG_EMPLOYEE > 300 OU TYPE_REGLT = 'VIRT' )
TOTAL = TOTAL + ( MONTANT_SALAIRE * 12 )
TOTAL_JOURS = TOTAL_JOURS + JOURS_MOIS
REFAIRE
c) Condition utilisant des boucles imbriquées :
*
POSITIONNER_AV ENTETE_CDE
TANT_QUE ENTETE_CDE EXISTE
IMPRIMER FMT_ENTETE
*
POSITIONNER_AV LIGNES_CDE
TANT_QUE LIGNES_CDE EXISTE
IMPRIMER FMT_DETAIL
LIRE_SUIVANT LIGNES_CDE
REFAIRE
*
LIRE_SUIVANT ENTETE_CDE
REFAIRE