EVALUATE ステートメント

EVALUATE ステートメントは、一連のネストされた IF ステートメントの省略表現を提供します。 EVALUATE ステートメントは、複数の条件を評価することができます。 以降の処置は、これらの評価の結果次第です。

フォーマット

構文図を読むビジュアル構文図をスキップEVALUATEidentifier-1literal-1expression-1TRUEFALSE ALSOidentifier-2literal-2expression-2TRUEFALSEWHENphrase 1ALSOphrase 2imperative-statement-1WHEN OTHERimperative-statement-2END-EVALUATE
phrase 1
構文図を読むビジュアル構文図をスキップANYcondition-1TRUEFALSENOTidentifier-3literal-3arithmetic-expression-1THROUGHTHRUidentifier-4literal-4arithmetic-expression-2
句 2
構文図を読むビジュアル構文図をスキップANYcondition-2TRUEFALSENOTidentifier-5literal-5arithmetic-expression-3THROUGHTHRUidentifier-6literal-6arithmetic-expression-4

WHEN 句の前にあるオペランド
これらのオペランドは、2 つの方法のいずれかにより解釈されます。 その解釈は、それらが指定される方法に応じて異なります。
  • 個別に解釈されます。それらは選択サブジェクト と呼ばれます。
  • まとめて解釈されます。それらは、選択サブジェクトの集合 と呼ばれます。
WHEN 句の中のオペランド
これらのオペランドは、2 つの方法のいずれかにより解釈されます。 その解釈は、それらが指定される方法に応じて異なります。
  • 個別に解釈されます。それらは選択オブジェクト と呼ばれます。
  • まとめて解釈されます。それらは選択オブジェクトの集合 と呼ばれます。
ALSO
一連の選択サブジェクト内の選択サブジェクトを分離し、 一連の選択オブジェクト内の選択オブジェクトを分離します。
THROUGH および THRU
これらのキーワードは同じ意味です。

EVALUATE ステートメント内のすべての ID は、動的長グループ項目であってはなりません。

THRU 句によって結合されている 2 つのオペランドは、同じクラスに属していなければなりません。 このようにして結合された 2 つのオペランドは、1 つの選択オブジェクトを構成します。

選択オブジェクトの集合内にある選択オブジェクトの個数は、選択サブジェクトの個数と一致しなければなりません。

選択オブジェクトの集合内にあるそれぞれの選択オブジェクトは、次に示す規則に従って、 選択サブジェクトの集合内にある同じ順序位置を持つ選択サブジェクトに対応していなければなりません。

  • 選択オブジェクト内に現れる ID、リテラル、または算術式は、選択サブジェクトのセット内の対応するオペランドと比較するための有効なオペランドでなければなりません。
  • 選択オブジェクトとして現れる条件-1条件-2、またはキーワード TRUE / FALSE は、選択サブジェクトの集合の中の条件式またはキーワード TRUE / FALSE と対応していなければなりません。
  • ワード ANY は、どのタイプの選択サブジェクトとでも対応することができます。

END-EVALUATE 句

この明示的範囲終了符号は、EVALUATE ステートメントの範囲を区切るために使用されます。 END-EVALUATE 句を使うことによって、 条件的な EVALUATE ステートメントを別の条件ステートメントの中にネストすることができます。

詳細については、 区切り記号付きスコープ文を参照してください。