Bienvenue dans la formation COBOL

Apprenez les bases du COBOL et développez vos compétences en programmation legacy avec une approche moderne.

Info : Ce module vous permet d’accéder rapidement aux contenus essentiels de la formation COBOL.
Retour au plan général

📘 Instruction EVALUATE : alternative au IF multiple (équivalent du switch)

L'instruction EVALUATE est une alternative puissante à une série de IF successifs. Elle joue un rôle similaire au switch/case des autres langages, en permettant de tester plusieurs cas de figure de manière lisible.

📐 Syntaxe de base
EVALUATE expression
    WHEN valeur1
        instructions
    WHEN valeur2
        instructions
    WHEN OTHER
        instructions par défaut
END-EVALUATE.
🧪 Exemple simple
EVALUATE JOUR-SEM
    WHEN "LUN"
        DISPLAY "Début de semaine".
    WHEN "VEN"
        DISPLAY "Fin de semaine".
    WHEN OTHER
        DISPLAY "Jour normal".
END-EVALUATE.
🎯 Évaluer plusieurs expressions
EVALUATE VAR1 ALSO VAR2
    WHEN "A" ALSO  1
        instructions...
    WHEN "B" ALSO  2
        instructions...
END-EVALUATE.

L’instruction ALSO permet d’évaluer plusieurs variables à la fois. C’est très utile pour gérer des combinaisons de cas.

📏 Règles d’utilisation
  • L’expression après EVALUATE peut être une variable, une condition, ou plusieurs avec ALSO.
  • Chaque WHEN correspond à un cas à tester.
  • Le cas WHEN OTHER est optionnel mais recommandé.
  • Chaque bloc doit se terminer par END-EVALUATE.
✅ Bonnes pratiques
  • Utilisez EVALUATE pour améliorer la lisibilité au lieu de plusieurs IF imbriqués.
  • Indentation claire : un WHEN = un bloc d’instructions.
  • Ajoutez toujours un WHEN OTHER pour gérer les cas non prévus.
  • N’utilisez EVALUATE TRUE que pour simuler une cascade d’IF.
🔄 Comparaison IF vs EVALUATE

IF est adapté aux décisions simples. EVALUATE devient plus lisible dès que vous avez 3 cas ou plus à gérer.

Grâce à l’instruction EVALUATE, vous pouvez gérer vos conditions de manière plus claire et plus modulaire. C’est un outil puissant, notamment dans les programmes de traitement de fichiers, de saisies ou de calculs.

↑ Haut