La valeur de VARIABLE est comparée à chaque WHEN . Si elle correspond, les instructions associées sont exécutées.
EVALUATE : alternative structurée au IF , avec cas multiples
L’instruction EVALUATE est une forme avancée de structure conditionnelle en COBOL . Elle fonctionne comme un SWITCH ou CASE dans d’autres langages (comme C ou Java), et permet de tester plusieurs cas en une seule instruction claire.
EVALUATE ? IF imbriqués
EVALUATE VARIABLE
WHEN "A" DISPLAY "Option A"
WHEN "B" DISPLAY "Option B"
WHEN OTHER DISPLAY "Option inconnue"
END-EVALUATE.
La valeur de VARIABLE est comparée à chaque WHEN . Si elle correspond, les instructions associées sont exécutées.
EVALUATE NOTE
WHEN >= 16 DISPLAY "Très bien"
WHEN >= 14 DISPLAY "Bien"
WHEN >= 10 DISPLAY "Moyen"
WHEN < 10 DISPLAY "Insuffisant"
END-EVALUATE.
Ce bloc remplace avantageusement une longue série de IF ... ELSE ... END-IF .
EVALUATE TRUE )
Si vous souhaitez combiner plusieurs conditions logiques, utilisez EVALUATE TRUE :
EVALUATE TRUE
WHEN AGE >= 18 AND PAYS = "FR"
DISPLAY "Majeur en France"
WHEN AGE < 18 AND PAYS = "FR"
DISPLAY "Mineur en France"
WHEN OTHER
DISPLAY "Autre situation"
END-EVALUATE.
END-EVALUATE WHEN OTHER EVALUATE quand une simple condition suffit → IF reste utile
L’instruction EVALUATE en COBOL :
IF imbriqués END-EVALUATE IF et EVALUATE avec les opérateurs logiques et arithmétiques pour créer des conditions plus puissantes.