[
Image Added |../../index.htm#lansa/case_e.htm]
現在地:
| Anchor |
|---|
| _Ref428866081 |
|---|
| _Ref428866081 |
|---|
|
...
...
7.11.3 CASE の使用例 基本的な CASE の処理
CASE コマンドを使用する理由
CASE コマンドを OR 演算と組み合わせて使用する
CASE コマンドを "=" (等しい) 以外の演算と組み合わせて使用する
CASE コマンドを複合式と組み合わせて使用する
基本的な CASE の処理
この例は、最も基本的なタイプの CASE コマンド処理を示しています。
ユーザーが値をフィールド #DEPTMENT に入力し、CASE コマンドによってこのロジックが実装される場合について考えます。
...
これは、CASE コマンドを使用して以下のようにコード化できます。
DEFINE FIELD(#DISCOUNT) TYPE(DEC) LENGTH(11) DECIMALS(2) EDIT_CODE(1) DEFINE FIELD(#QUANTITY) TYPE(*DEC) LENGTH(3) DECIMALS(0) BEGIN_LOOP REQUEST FIELDS(#DISCOUNT #QUANTITY) CASE OF_FIELD(#DISCOUNT) WHEN VALUE_IS('> (#QUANTITY 0.1)') MESSAGE MSGTXT('Discount value is larger than quantity times 0.1') WHEN VALUE_IS('< (#QUANTITY * 0.1)') MESSAGE MSGTXT('Discount value is less than quantity times 0.1') OTHERWISE MESSAGE MSGTXT('A correct discount value was entered') ENDCASE END_LOOP
[
Image Added |../../index.htm#lansa/case_e.htm]