ブール論理式の構文ルール
論理式を
FI-SL アプリケーションコンポーネントに入力する場合、一定の構文ルールに従わなければなりません。このセクションでは、 FI-SL アプリケーションコンポーネント用の命令登録に関する構文ルールを説明します。このセクションで説明する構文ルールは、直接入力するチェックと代入命令、およびリリース
4.0A の論理式ビルダを使って入力する命令で有効です。これらの構文ルールは、ルールに直接入力する命令には適用 されません。FI-SL
で命令を入力する場合は、次の構文ルールに従います。テーブル名と項目名は、次の書式で入力します。
table_name-field_name
テーブル名と項目名は、ハイフンで区切ります。
GLT1-RACCT
CCSS-KSTAR
値の前に入力された次元に、値が存在するかどうかがチェックされます。値が次元にある場合は、命令は真となり、値が次元に ない場合は、命令は偽となります。
また、項目値の一部だけをチェックするよう指示することもできます。このタイプの命令は、次のようにして入力します。
・ テーブル名および項目名
(table_name-field_name)・ 空白スペース
最初のコロンの後に、必ず空白スペースを挿入してください。
・ コロン
(:) 1つ・ 項目名ので検査したい桁数
・ コロン
(:) 1つ1は、常に項目の最初の桁を表します。
( 入力する数字は値そのものを表すのでは なく、項目列の中での値の位置を表します。 )
・
GLT1-RACCT :1-3:条件が真かどうかを判断するのに、勘定項目の最初の
3 桁だけが検査されます。・
GLT1-RACCT :5-7:条件が真かどうかを判断するのに、勘定項目の
5 、 6 、および 7 桁目が検査されます。・
GLT1-RACCT :2-:条件が真かどうかを判断するのに、勘定項目の
2 桁目以降がチェックされます。GLT1-RACCT =
’ 500000 ’命令で参照できる値のタイプについての詳細は、
FI-SL 命令のタイプを参照してください。基本セットおよび単一次元セットでは、セットを次の書式で入力します。
a)
セットのテーブル名および項目名 (table_name-field_name)b)
キーワード INc)
セット名GLT1-RACCT IN ACCOUNTS
複合次元
セットでは、セットを次の書式で入力します。a)
キーワード INb)
セット名IN ACCTSCNTRS
二重引用符内のテキストは処理されず、命令の説明にのみ使われます。
命令を直接入力、あるいは論理式ビルダのエキスパートモードを使って入力するときは、コメントテキストを命令の前に入力してください。
テキストを命令に直接入力するときは、コメントテキストに空白文字を使用することはできません。また、テキストは
58 文字以内にしてください。 58 文字を超えるコメントテキストを入力したい場合は、2セットのコメントを入力し、コメントの各セットを空白文字で区切ります。命令に括弧が使われている場合を除き、演算子
NOT が最初に処理されます。NOT (A OR B)
この例では、括弧内の命令がまず処理されます。その他の演算子は、命令の順に処理されます。
詳細は、
真理値表でのブール演算子の使用を参照してください。
演算子 |
定義 |
< |
より小さい |
> |
より大きい |
<> |
等しくない |
= |
等しい |
<= |
以下 |
>= |
以上 |
a)
文字 u ( ユーザ定義ユーザ Exit の場合 ) を入力するか、または s (SAP 標準ユーザ Exit の場合 ) を入力します。b)
ユーザ Exit 番号 (3 桁 ) を入力します ( 例、 U123) 。クライアント依存のユーザ
Exit 用のテーブル (table T80D) にユーザ Exit を含む書式プールは、 特別目的元帳のカスタマイジングで基本設定→ユーザ Exit →クライアント依存ユーザ Exit 更新を選択することにより、設定することができます。システムのアップグレード時に上書きされないようにするため、書式プール名はユーザ命名規則 ( 文字 Z で始める ) に準拠しなければなりません。a)
下の表に示す、数理演算子を使用します。
記号 |
演算 |
+ |
加算 |
- |
減算 |
* |
乗算 |
/ |
除算 |
b)
数式が評価される順序を、括弧を使って定義します。マトリクスチェックまたはマトリクス代入を登録している場合は、伝票明細のチェックまたは代入時に、下の表に示す演算子も使用できます。
キーワードの後、および開始括弧の直前には空白文字を入力してください。
演算子 |
説明 |
SUM ( ) |
伝票の合計 |
AVG ( ) |
伝票の平均合計 |
MAX ( ) |
全伝票明細の最大値 |
MIN ( ) |
全伝票明細の最小値 |
GROUP_BY |
1 つのグループ合計と別のグループ合計との比較 |
SUM ( BSEG-DMBTR ) < 50000
この例では、伝票に国内通貨で
50000 を超える金額を転記することはできません。AVG ( TABLE-FIELD1 ) GROUP_BY TABLE-RYEAR TABLE-RVERS = AVG ( TABLE-FIELD2 ) GROUP_BY TABLE-RYEAR TABLE-RVERS
この例では、
FIELD1 の年度 / バージョンの組み合わせの平均値が FIELD2 の年度 / バージョンの組合せの平均値と等しい場合に、命令が真となります。数理処理を使う命令では、ルールも使用できます。
SUM ( BSEG-DMBTR ) WHERE RULE_1 < SUM ( BSEG-DMBTR ) WHERE RULE_2
この例では、
RULE1 が真である伝票明細に対して国内通貨 (DMBTR) の合計が計算されます。次に、 RULE2 が真である伝票明細に対して国内通貨の合計が計算されます。最初の合計が2番目の合計よりも小さい場合、命令は真です。
通貨コードの小数点以下桁数が
命令を直接入力、あるいは論理式ビルダのエキスパートモードを使って入力するときは、ブール論理式には通貨タイプのみを入力できます。
BSEG-DMBTR <
’ 10000(BEF) ’参照: