次の例は、EVALUATE ステートメントと一緒にいくつかのレベル 88 項目を使用して、 プログラム内のいくつかの条件のうちのどれが真であるかを判別する方法を示しています。
例えば、マスター・ファイルを更新するプログラムを考えてみましょう。更新内容は、トランザクション・ファイルから読み取られます。ファイル内のレコードは、3 つの機能 (追加、変更、または削除) のうち、実行する機能を示す フィールドを含んでいます。入力ファイルのレコード記述で、レベル 88 項目を使用して機能コード用のフィールドをコーディングします。
01 Transaction-Input Record
05 Transaction-Type Pic X.
88 Add-Transaction Value “A”.
88 Change-Transaction Value “C”.
88 Delete-Transaction Value “D”.
これらの条件名をテストしてどの機能が実行されるかを判別するための、 PROCEDURE DIVISION 内のコードは、次のようになります。
Evaluate True
When Add-Transaction
Perform Add-Master-Record-Paragraph
When Change-Transaction
Perform Update-Existing-Record-Paragraph
When Delete-Transaction
Perform Delete-Master-Record-Paragraph
End-Evaluate