Rational Developer for System z
Enterprise COBOL for z/OS バージョン 4.1 プログラミング・ガイド


EVALUATE ステートメントの使用

ネストされた一連の IF ステートメントではなく、EVALUATE ステートメントを使用して、幾つかの条件をテストし、かつ それぞれについて異なるアクションを指定できます。 したがって、EVALUATE ステートメントを使用すると、ケース構造 またはデシジョン・テーブルをインプリメントすることができます。

また以下の例に示されているように、EVALUATE ステートメントを使用して、複数の条件で同じ処理が行われるようにすることもできます。

EVALUATE ステートメントでは、WHEN 句の前のオペランドは選択サブジェクト と呼ばれ、WHEN 句の中のオペランドは選択サブジェクト と呼ばれます。 選択サブジェクトは、ID、リテラル、条件式、あるいはワード TRUE または FALSE にすることができます。 選択オブジェクトは、ID、リテラル、条件式、算術式、あるいはワード TRUEFALSE、または ANY にすることができます。

複数の選択サブジェクトを ALSO 句で分離することができます。 複数の選択オブジェクトも ALSO 句で分離することができます。それぞれの選択オブジェクト・セット内の選択オブジェクトの数は、次の例に示されているように、選択サブジェクトの数と等しくする必要があります。

例: 複数の条件をテストする EVALUATE

選択オブジェクト内に現れる ID、リテラル、または算術式は、選択サブジェクト・セット内の対応するオペランドと比較できるよう、有効なオペランドにする必要があります。 選択オブジェクト内に現れる条件あるいはワード TRUE または FALSE は、選択サブジェクト・セット内の条件式あるいはワード TRUE または FALSE に対応していなければなりません。 (選択オブジェクトとしてワード ANY を使用すると、任意のタイプの選択サブジェクトに対応付けることができます。)

EVALUATE ステートメントの実行は、次のいずれかの条件が発生すると終了します。

WHEN 句は、ソース・プログラムに現れている順序どおりにテストされます。 ですから、最高のパフォーマンスが得られるようにこれらの句を順序付ける必要があります。 最初に、適合する可能性が最も高い選択オブジェクトを含んでいる WHEN 句をコーディングし、その後、次に可能性の高いものという順にコーディングしてください。例外は WHEN OTHER 句です。これは最後に置かなければなりません。

関連参照
EVALUATE ステートメント (Enterprise COBOL 言語解説書)
一般比較条件 (Enterprise COBOL 言語解説書)


ご利用条件 | フィードバック

このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)