Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

[ Image Added |../../index.htm#lansa/case_e.htm]
現在地:

Anchor
_Ref428866081
_Ref428866081
Anchor
_

...

Toc139468510
_

...

Toc139468510
7.11.3 CASE の使用例

基本的な CASE の処理
CASE コマンドを使用する理由
CASE コマンドを OR 演算と組み合わせて使用する
CASE コマンドを "=" (等しい) 以外の演算と組み合わせて使用する
CASE コマンドを複合式と組み合わせて使用する

Anchor
CASE_EX1
CASE_EX1
基本的な 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]