The EVALUATE statement describes a multi-branch, multi-join
structure. It may cause multiple conditions to be evaluated.
The subsequent action of the runtime element depends on the results of
these evaluations.
EVALUATE selection-subject [ ALSO selection-subject ] ...
{ { WHEN selection-object [ ALSO selection-object ] ... } ...
imperative-statement-1 } ...
[ WHEN OTHER imperative-statement-2 ]
[ END-EVALUATE ]
selection-subject.
{ identifier-1 }
{ literal-1 }
{ arithmetic-expression-1 }
{ condition-1 }
{ TRUE }
{ FALSE }
selection-object.
{ [ NOT ] identifier-2 }
{ [ NOT ] literal-2 }
{ [ NOT ] arithmetic-expression-2 }
{ [ NOT ] range-expression }
{ condition-2 }
{ partial-expression-1 }
{ TRUE }
{ FALSE }
{ ANY }
range-expression.
{ identifier-3 } { THROUGH } { identifier-4 }
{ literal-3 } { THRU } { literal-4 }
{ arithmetic-expression-3 } { arithmetic-expression-4 }