DECIDE FOR |
|
FIRST |
|
CONDITION |
EVERY |
||||
{WHEN logical-condition statement |
||||
[WHEN ANY statement |
||||
[WHEN ALL statement |
||||
WHEN NONE statement |
||||
END-DECIDE |
||||
このドキュメントでは、次のトピックについて説明します。
構文図で使用されている記号については、「構文記号」を参照してください。
関連ステートメント:DECIDE
ON | IF | IF SELECTION | ON ERROR
関連機能グループ:論理条件の処理
DECIDE FOR ステートメントは、複数の条件(ケース)に応じて 1 つ以上のアクションを実行するかどうかを判定します。
注意:
ある条件のもとで何も実行しない場合は、DECIDE FOR ステートメントの対応する節にステートメント IGNORE を指定する必要があります。
| 構文要素 | 説明 |
|---|---|
FIRST CONDITION |
最初の条件のみの処理:
最初に真になった条件のみが処理されます。 「例 1」も参照してください。 |
EVERY CONDITION |
各条件の処理:
真になった条件がすべて処理されます。 「例 2」も参照してください。 |
WHEN
logical-condition statement |
処理する論理条件:
この節では、処理される論理条件(複数可)を指定します。 『プログラミングガイド』の「論理条件基準」を参照してください。 |
WHEN
ANY statement |
WHEN ANY 節:
|
WHEN
ALL statement |
WHEN ALL 節:
この節は、 |
WHEN
NONE statement |
WHEN NONE 節:
|
END-DECIDE |
DECIDE FOR ステートメントの終了:
|
** Example 'DECEX1': DECIDE FOR (with FIRST option)
************************************************************************
DEFINE DATA LOCAL
1 #FUNCTION (A1)
1 #PARM (A1)
END-DEFINE
*
INPUT #FUNCTION #PARM
*
DECIDE FOR FIRST CONDITION
WHEN #FUNCTION = 'A' AND #PARM = 'X'
WRITE 'Function A with parameter X selected.'
WHEN #FUNCTION = 'B' AND #PARM = 'X'
WRITE 'Function B with parameter X selected.'
WHEN #FUNCTION = 'C' THRU 'D'
WRITE 'Function C or D selected.'
WHEN NONE
REINPUT 'Please enter a valid function.'
MARK *#FUNCTION
END-DECIDE
*
END
#FUNCTION #PARM
#FUNCTION A #PARM Y Please enter a valid function.
** Example 'DECEX2': DECIDE FOR (with EVERY option)
************************************************************************
DEFINE DATA LOCAL
1 #FIELD1 (N5.4)
END-DEFINE
*
INPUT #FIELD1
*
DECIDE FOR EVERY CONDITION
WHEN #FIELD1 >= 0
WRITE '#FIELD1 is positive or zero.'
WHEN #FIELD1 <= 0
WRITE '#FIELD1 is negative or zero.'
WHEN FRAC(#FIELD1) = 0
WRITE '#FIELD1 has no decimal digits.'
WHEN ANY
WRITE 'Any of the above conditions is true.'
WHEN ALL
WRITE '#FIELD1 is zero.'
WHEN NONE
IGNORE
END-DECIDE
*
END
#FIELD1 42
Page 1 05-01-11 14:56:26
#FIELD1 is positive or zero.
#FIELD1 has no decimal digits.
Any of the above conditions is true.