ブール論理式の旧構文ルール
ブール論理式を直接入力することによって
( すなわち、論理式ビルダを使用しないで ) リリース 4.0A のルールを登録する際は、 4.0A 以前のリリースで使われていた旧構文ルールを使ってください。チェックと代入で、命令を直接または論理式ビルダのエキスパートモードを使って入力する際は、リリース
ルールに命令を直接入力する場合は、次の構文ルールに従います。
命令は必ずテーブル名を参照しなければなりません。このテーブルには、命令で使われる次元が含まれます。
テーブル名を中括弧で囲みます。
<GLT0>
<GLT1>
<COBL>
1
つの命令内では、新規のテーブルを入力するまでこのテーブル名が有効です。 1 つの命令で、複数のテーブルを参照することができます。命令にルールを入力する際は、ルール用のテーブル名を入力する必要はありません。ルールが使用するテーブル名は、ルールが定義された時点で入力されています。ルールについての詳細は、
ルールについてを参照してください。基本セットおよび単一次元セットについては、命令内のセット用にテーブル名を入力する必要はありません。
項目名は、命令で参照する値を含む次元です。
<GLT1> $RACCT
<COBL> $BLART
値の前に入力された次元に、値が存在するかどうかがチェックされます。値が次元にある場合は、命令は真となり、値が次元に ない場合は、命令は偽となります。
また、項目値の一部だけをチェックするよう指示することもできます。このタイプの指示を入力するには、
$ 符号、項目名、コロン ( :) 、項目名の中のチェックする桁数、最後にコロン ( :) を入力します。 1は、常に項目の最初の桁を表します。 ( 入力する数字は値そのものを表すのでは なく、項目列での値の位置を表します。 )
・
<GLT1> $RACCT:1-3:条件が真かどうかを判断するのに、勘定項目の最初の
3 桁だけが検査されます。・
<GLT1> $RACCT:5-7:条件が真かどうかを判断するのに、勘定項目の
5 、 6 、および 7 桁目が検査されます。・
<GLT1> $RACCT:2-:条件が真かどうかを判断するのに、勘定項目の
2 桁目以降が検査されます。命令にセット名を使う場合、セット名の両側には一重引用符を入力しません。
<GLT1> $RACCT =
’ 500000 ’a)
キーワード INb)
セット名今回のリリースでも、セットが使用するテーブルは、セット名の前に入力することができます
( IN <table_name> set_name) 。次の例では、テーブル
GLT1 に登録された基本セット ACCOUNTS を使用しています。IN ACCOUNTS
IN <GLT1> ACCOUNTS (
任意のテーブル名を使用 )
<COBL> ($HKONT =
’ 500000 ’ AND $HKONT = ’ 600000 ’ ) OR $KOSTL = ’ 100 ’二重引用符内のテキストは処理されず、命令の説明のみに使われます。
命令内に括弧が使われている場合を除き、演算子
NOT が最初に処理されます。NOT (A OR B)
この例では、括弧内の命令がまず処理されます。その他の演算子は、命令の順に処理されます。
詳細は、
真理値表でのブール演算子の使用を参照してください。
演算子 |
定義 |
< |
より小さい |
> |
より大きい |
<> |
等しくない |
= |
等しい |
<= |
以下 |
>= |
以上 |
クライアント依存のユーザ
a)
キーワード MATHS( を数式の前に入力します。b)
数式の後に ) を入力します。c)
下の表に示す、数理演算子を使用します。
記号 |
演算 |
+ |
加算 |
- |
減算 |
* |
乗算 |
/ |
除算 |
d)
数式が評価される順序を、括弧を使って定義します。マトリクスチェックまたはマトリクス代入を登録している場合は、伝票明細のチェックまたは代入時に、下の表に示す演算子も使用できます。
演算子 |
説明 |
SUM( ) |
伝票の合計 |
AVG( ) |
伝票の平均合計 |
MAX( ) |
全伝票明細の最大値 |
MIN( ) |
全伝票明細の最小値 |
GROUP BY |
1 つのグループ合計と別のグループ合計との比較 |
MATHS( SUM( $HSL ) < 50000 )
この例では、伝票に国内通貨で
50000 を超える金額を転記することはできません。MATHS( AVG( $FIELD1 ) GROUP BY $RYEAR $RVERS = AVG( $FIELD2 ) GROUP BY $RYEAR $RVERS )
この例では、
FIELD1 の年度 / バージョンの組合せの平均値が FIELD2 の年度 / バージョンの組合せの平均値と等しい場合に、命令が真となります。数理処理を使う命令では、ルールも使用できます。
MATHS( SUM( $DMBTR ) WHERE &RULE_1 < SUM( $DMBTR ) WHERE &RULE_2 )
この例では、
RULE1 が真である伝票明細に対して国内通貨 (DMBTR) の合計が計算されます。次に、 RULE2 が真である伝票明細に対して国内通貨の合計が計算されます。最初の合計が2番目の合計よりも小さい場合、命令は真です。
通貨コードの小数点以下桁数が
<BSEG> $DMBTR <
’ 10000 (BEF) ’