13.1.5 算術演算子および式の演算子

LANSA

13.1.5 算術演算子および式の演算子


式または条件で は、演算子を組み合わせて使用することができます。使用できる演算子は、次のとおりです。

オペレーション

説明

(

左 括弧

)

右 括弧

+

足 す

-

引 く

/

割 る

*

掛 ける

=

等 しい

^=

等 しくない(「注」参 照)

<

よ り小さい

<=

以 下

>

よ り大きい

>=

以 上

*EQ

等 しい

*NE

等 しくない

*LT

よ り小さい

*LE

以 下

*GT

よ り大きい

*GE

以 上

AND

か つ

OR

ま たは

*AND

か つ

*OR

ま たは

式の評価は、括弧内 の左から右に行われるため、式が評価される順序に関して不安があ る場合は、遠慮なく括 弧を使用してください。

括弧を積極的に使用することで、プ ログラムの質も向上します。プログラマの意図をRDMLコンパイ ラに明確に伝えることができるだけでなく、さらに、将来アプリケーションを保守する人にも伝えることができます。

式の各要素はタイプと長さの互換性があるかどうかを検査されます。式または条件の構文も、正しいかどうかが検査されます。

LANSAで指定する条件と式はすべて「引用文字列」であるため、「引用符および引用文字列」も 参照してください。

条件と式の例を次に示します。

·         フィー ルド#Aが10より小さい場合のみ、RDMLコマンドが実行されるように条件付けます。

             IF COND('#A < 10')

       & nbsp; または  IF COND('#A  *LT 10')

 

·         フィー ルド#Aの値を10に変更します。

             CHANGE   FIELD(#A)  TO(10)

       & nbsp;  または CHANGE  & nbsp;#A  (10)

       & nbsp;  または CHANGE  & nbsp;#A 10

 

·         フィー ルド#Bに10.62を加え、それを2で割った値よりもフィールド#Aが大きい場合のみ、RDMLコマンドが実行されるように条件付けます。

             IF COND('#A < ((#B + 10.62) / 2)')

       & nbsp; または  IF ('#A <  ((#B + 10.62) / 2)')

       & nbsp; または  IF '#A <  ((#B + 10.62) / 2)'

 

·         フィー ルド#Aの値を、フィールド#Bに10.62を加え、それを2で割った値に変更します。

             CHANGE   FIELD(#A)  TO('(#B + 10.62) / 2')

       & nbsp;  または CHANGE  & nbsp;#A  ('(#B + 10.62) / 2')

       & nbsp;  または CHANGE  & nbsp;#A '(#B + 10.62) / 2'

 

·         製 品マスターに製品番号が見つかるまで、製品番号の入力をユーザーに要求します。製品番号が見つかると、その製品の詳細を表示します。

          GROUP_BY NAME(#PRODUCT) FIELDS(#PRODNO #DESC #PRICE 

                                         #QOH #TAX)

          BEGIN_LOOP

          DOUNTIL    COND('#IO$STS = OK')

          REQUEST    FIELD(#PRODNO)

          FETCH      FIELDS(#PRODUCT) FROM_FILE(PROMST) 

                     WITH_KEY(#PRODNO)

          ENDUNTIL

 

          DISPLAY    FIELDS(#PRODUCT)

          END_LOOP

 

注:

System iと、5250端末または5250エミュレーション・モードの端末を使用しているPCプラットフォーム(ASCII/EBCDIC)との間に変換テーブル の問題があるため、式で^=(等しくない)を使用する場合は注意が必要です。編集時に使用する端末/キーボードによっては、^=、¢ =、¬=と表示される可能性があります。この場合、代わりに*NEを使用してください。

ÝRDMLコマンドのパラメータ