VALUES |
Valeurs |
|---|---|
| Cobol | |
Syntaxe
| VALUES ARE literal1 [(THROUGH|THRU) literal2] |
Paramètres
| Nom | Description |
|---|---|
| VALUES ARE | Ce paramètre introduit une ou plusieurs valeurs qui seront associées à une condition, généralement utilisée dans la clause CONDITION ou dans des conditions 88. |
| literal1 | Ce paramètre permet d'indiquer une valeur précise à tester ou à associer à une condition nommée. Il représente le début d'une valeur ou d'un intervalle. |
| THROUGH | Ce paramètre est utilisé pour indiquer un intervalle de valeurs allant du literal1 au literal2, et inclut à la fois literal1 et literal2 dans la plage. Par exemple, VALUE IS 1 THROUGH 10 signifie que les valeurs 1 à 10 sont valides. |
| THRU | Ce paramètre est un synonyme de THROUGH et a le même comportement. Il est plus courant dans certaines variantes de COBOL, mais il permet également de définir une plage de valeurs, où la plage est inclusive des deux bornes. Par exemple, VALUE IS 5 THRU 15 signifie que les valeurs de 5 à 15 (inclusivement) sont acceptées. |
| literal2 | Ce paramètre permet d'indiquer les valeurs acceptées dans l'intervalle spécifié. |
Description
Cette instruction permet d'indiquer la valeur initiale dans les items d'entreposage de travail associé avec une condition spécifié.
Remarques
- L'instruction VALUES ARE est généralement utilisée en association avec des conditions de niveau 88. Elle permet de donner un sens symbolique à des valeurs numériques ou alphanumériques. Cela améliore la lisibilité du programme, car le nom de la condition devient parlant et remplace les valeurs brutes.
- Grâce à VALUES ARE, on peut définir plusieurs constantes logiques pour une même variable, ce qui permet de tester son contenu avec des conditions simples. Cela évite l'utilisation de multiples comparaisons explicites dans le code, rendant les blocs conditionnels plus clairs et concis.
- L'utilisation de THROUGH ou THRU permet de définir une plage continue de valeurs valides pour une condition. Cela est particulièrement utile pour représenter des groupes logiques, comme des plages d'âge, des codes régionaux ou des catégories de produits, sans avoir à énumérer chaque valeur individuellement.
- La clause VALUES ARE est déclarative : elle ne contient pas de logique active, mais permet de créer une relation entre une valeur et une condition logique. Cela favorise une séparation entre la logique de validation et la structure des données, un principe apprécié dans la programmation structurée.
- Les conditions de niveau 88 utilisant VALUES ARE peuvent être testées directement avec des instructions comme IF, ce qui améliore la compréhension du code. Par exemple, IF EUROPEENS est plus lisible et maintenable que IF CODE-PAYS >= 10 AND <= 20.
- Une seule variable peut avoir plusieurs conditions 88 avec différentes valeurs ou plages associées via VALUES ARE. Cela permet de regrouper plusieurs logiques d'interprétation sur un même champ, sans multiplier les variables ou complexifier la structure des données.
- La clause VALUES ARE ne sert pas à affecter une valeur à une variable, mais à définir les valeurs que cette variable peut prendre pour qu'une condition soit considérée comme vraie. C'est une nuance importante, souvent mal comprise par les débutants en COBOL.
- L'ordre des valeurs ou des plages dans VALUES ARE n'a pas d'impact sur le comportement, mais une bonne organisation favorise la clarté. Il est recommandé d'ordonner les intervalles de manière logique ou numérique croissante pour faciliter la maintenance du code.
Dernière mise à jour : Jeudi, le 28 juillet 2011