5.4.1 EVALUATE文

EVALUATE文は,多枝分岐,多枝結合の構造を記述し,複数の条件を評価できます。プログラムが次に取る動作は,これらの評価の結果によって決まります。

EVALUATE文については,マニュアル「COBOL2002 言語 標準仕様編 10.8.18 EVALUATE文」を参照してください。

EVALUATE文の例を次に示します。

(例1)
各選択対象の組中の選択対象の数は,選択主体の数と等しくする必要があります。

             :
   EVALUATE X ALSO Y ALSO Z
       WHEN 1 ALSO 2 ALSO ANY
         ADD A TO B
       WHEN 3 ALSO 4 ALSO 5
         ADD C TO B
       WHEN OTHER
         ADD B TO A
   END-EVALUATE.
             :

(例2)

   EVALUATE A
     WHEN  1
     WHEN  3
     WHEN  5
          :
     WHEN 19
       MOVE 'ODD' TO B             *>1.
     WHEN  2
     WHEN  4
           :
     WHEN 20
       MOVE 'EVEN' TO B            *>2.
     WHEN OTHER
       MOVE 'OUT  OF  RANGE' TO B  *>3.
   END-EVALUATE.

  • 整数項目Aの値が20以下の奇数のとき,1.のMOVE文が実行されます。
  • 整数項目Aの値が20以下の偶数のとき,2.のMOVE文が実行されます。
  • 整数項目Aの値が20を超えるとき,または0以下のとき,3.のMOVE文が実行されます。