ブール論理式の構文ルール 

論理式を FI-SL アプリケーションコンポーネントに入力する場合、一定の構文ルールに従わなければなりません。このセクションでは、 FI-SL アプリケーションコンポーネント用の命令登録に関する構文ルールを説明します。

このセクションで説明する構文ルールは、直接入力するチェックと代入命令、およびリリース 4.0A の論理式ビルダを使って入力する命令で有効です。これらの構文ルールは、ルールに直接入力する命令には適用 されません

FI-SL で命令を入力する場合は、次の構文ルールに従います。

  1. 命令で使うテーブル名と項目名を定義します。項目名は、命令で参照する値を含む次元です。
  2. テーブル名と項目名は、次の書式で入力します。

    table_name-field_name

    テーブル名と項目名は、ハイフンで区切ります。

    GLT1-RACCT

    CCSS-KSTAR

    値の前に入力された次元に、値が存在するかどうかがチェックされます。値が次元にある場合は、命令は真となり、値が次元に ない場合は、命令は偽となります。

    また、項目値の一部だけをチェックするよう指示することもできます。このタイプの命令は、次のようにして入力します。

    ・ テーブル名および項目名 (table_name-field_name)

    ・ 空白スペース

    最初のコロンの後に、必ず空白スペースを挿入してください。

    ・ コロン (:) 1つ

    ・ 項目名ので検査したい桁数

    ・ コロン (:) 1つ

    は、常に項目の最初の桁を表します。 ( 入力する数字は値そのものを表すのでは なく、項目列の中での値の位置を表します。 )

    GLT1-RACCT :1-3:

    条件が真かどうかを判断するのに、勘定項目の最初の 3 桁だけが検査されます。

    GLT1-RACCT :5-7:

    条件が真かどうかを判断するのに、勘定項目の 5 6 、および 7 桁目が検査されます。

    GLT1-RACCT :2-:

    条件が真かどうかを判断するのに、勘定項目の 2 桁目以降がチェックされます。

  3. 命令の各要素は、 1 つ以上の空白文字で区切ります。
  4. 特定値の両側に、一重引用符 ( ) を入力します。
  5. GLT1-RACCT = 500000
    COBL-BLART =
    SA

    命令で参照できる値のタイプについての詳細は、 FI-SL 命令のタイプを参照してください。

  6. セット名は、入力するセットのタイプ別に次のようにして入力します。
  7. 基本セットおよび単一次元セットでは、セットを次の書式で入力します。

    a) セットのテーブル名および項目名 (table_name-field_name)

    b) キーワード IN

    c) セット名

    GLT1-RACCT IN ACCOUNTS

    複合次元セットでは、セットを次の書式で入力します。

    a) キーワード IN

    b) セット名

    IN ACCTSCNTRS

  8. 命令でルールを使用する場合は、ルール名のみを ( 先頭にアンパサンド記号 (&) 付けずに ) 入力します。
  9. 命令のコメントの両側には二重引用符 ( ) を付けます。
  10. 二重引用符内のテキストは処理されず、命令の説明にのみ使われます。

    命令を直接入力、あるいは論理式ビルダのエキスパートモードを使って入力するときは、コメントテキストを命令の前に入力してください。

    テキストを命令に直接入力するときは、コメントテキストに空白文字を使用することはできません。また、テキストは 58 文字以内にしてください。 58 文字を超えるコメントテキストを入力したい場合は、2セットのコメントを入力し、コメントの各セットを空白文字で区切ります。

  11. 論理演算子、 NOT AND OR NAND NOR --> 、および <-> を使います。
  12. 命令に括弧が使われている場合を除き、演算子 NOT が最初に処理されます。

    NOT (A OR B)

    この例では、括弧内の命令がまず処理されます。その他の演算子は、命令の順に処理されます。

    詳細は、 真理値表でのブール演算子の使用を参照してください。

  13. 下の表に示す標準数理演算子を使用します。

 

演算子

定義

<

より小さい

>

より大きい

<>

等しくない

=

等しい

<=

以下

>=

以上

 

  1. 命令にユーザ Exit を入力する場合は、次のようにします。
  2. a) 文字 u ( ユーザ定義ユーザ Exit の場合 ) を入力するか、または s (SAP 標準ユーザ Exit の場合 ) を入力します。

    b) ユーザ Exit 番号 (3 ) を入力します ( 例、 U123)

    クライアント依存のユーザ Exit 用のテーブル (table T80D) にユーザ Exit を含む書式プールは、 特別目的元帳のカスタマイジングで基本設定→ユーザ Exit →クライアント依存ユーザ Exit 更新を選択することにより、設定することができます。システムのアップグレード時に上書きされないようにするため、書式プール名はユーザ命名規則 ( 文字 Z で始める ) に準拠しなければなりません。

  3. 数理処理を命令で使う場合、以下に従ってください。

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番目の合計よりも小さい場合、命令は真です。

  1. TRUE または FALSE を入力して、命令を真または偽として入力することができます。
  2. ブール論理式に通貨タイプを入力する場合、通貨コードを括弧で囲みます。

通貨コードの小数点以下桁数が 2 桁以外の場合にのみ、ブール論理式で通貨コードを指定します。

命令を直接入力、あるいは論理式ビルダのエキスパートモードを使って入力するときは、ブール論理式には通貨タイプのみを入力できます。

BSEG-DMBTR < 10000(BEF)

参照:

ブール論理式の例