EVALUATE ステートメントの簡単な例
EVALUATE MENU-INPUT WHEN "0" PERFORM INIT-PROC WHEN "1" THRU "9" PERFORM PROCESS-PROC WHEN "R" PERFORM READ-PARMS WHEN "X" PERFORM CLEANUP-PROC WHEN OTHER PERFORM ERROR-PROC END-EVALUATE.
対応する IF ステートメント
IF (MENU-INPUT = "0") THEN PERFORM INIT-PROC ELSE IF (MENU-INPUT >= "1") AND (MENU-INPUT <= "9") THEN PERFORM PROCESS-PROC ELSE IF (MENU-INPUT = "R") THEN PERFORM READ-PARMS ELSE IF (MENU-INPUT = "X") THEN PERFORM CLEANUP-PROC ELSE PERFORM ERROR-PROC END-IF END-IF END-IF END-IF.
次の例は、EVALUATE ステートメントおよびそれに対応する IF ステートメントの、より複雑な例です。
EVALUATE ステートメントの複雑な例
EVALUATE A = B ALSO C > D ALSO TRUE WHEN TRUE ALSO TRUE ALSO E = F + 15 imp-stat-1 WHEN TRUE ALSO TRUE ALSO E > 12 imp-stat-2 WHEN TRUE ALSO FALSE ALSO ANY imp-stat-3 WHEN FALSE ALSO TRUE ALSO ANY imp-stat-4 WHEN FALSE ALSO FALSE ALSO ANY imp-stat-5 END-EVALUATE.
対応する IF ステートメント
IF A = B THEN IF C > D THEN IF E = F + 15 THEN imp-stat-1 ELSE IF E > 12 THEN imp-stat-2 END-IF END-IF ELSE imp-stat-3 END-IF ELSE IF C > D THEN imp-stat-4 ELSE imp-stat-5 END-IF END-IF.