SAPBPC-ビジネスロジック
BPCのデータに対してビジネスロジックとスクリプトロジックを実行できます。実行できるさまざまな計算があります。
Business Rules −これらは、事業計画および連結モデルで一般的な会計タスクを転記するために使用される金銭的機能です。
Script Logic −これには、BPCシステムのメンバー、ディメンション、およびデータに対してさまざまな計算を実行するために使用される式が含まれます。
ディメンションロジック
ディメンションロジックは、ディメンションに計算と数式を適用するために使用されます。計算は、取得時にディメンション式に従って実行されます。誤って使用するとシステムのパフォーマンスに影響を与える可能性があるため、寸法式を正しく使用することが重要です。
Key points to remember while applying Dimension logic −
寸法式はシステムパフォーマンスに影響するため、正しく適用する必要があります。
ディメンション式は、集計後に計算が必要なメンバーにのみ適用する必要があります。
ディメンション式は、ベースレベルと親レベルの両方のレベルで計算する必要がある比率にのみ使用する必要があります。
Common Dimensionメンバーの式は、計算を実行するために使用されます-ユニットあたりのコスト、成長率など。
次元ロジックを定義する方法は?
複雑なディメンション式を作成するには、多次元式言語に精通している必要があります。サポートされているMDX機能のリストは、機能モジュールBAPI_MDPROVIDER_GET_FUNCTIONSから入手できます。
Prerequisites −ディメンションで数式を使用するには、ディメンションの管理タスクオプションを使用して、数式と呼ばれるプロパティをメンバーシートに追加する必要があります。
フィールドの長さも定義する必要があり、60文字を超える必要があります。60を超える長さはSAPNetWeaverに文字列として格納されるため、フィールド長は長くすることをお勧めします。
AppSetでディメンション式を使用する場合は、タイプRの特別なディメンションメンバーを維持する必要があります。このメンバーは、現地通貨(LC)と呼ばれます。
アプリセット→[ディメンションメンバーの更新]を選択します。
数式は手動で作成することも、ライブラリディメンションの数式から取得することもできます。メンバーの寸法式を定義するには、寸法の周りに角括弧を配置する必要があり、2つの間にドットがあります。
[PRODUCT]。[PRODUCT1] – [PRODUCT]。[PRODUCT2]
[SALES]。[SALES1] / [SALES]。[SALES2]
標準の算術関数は、ディメンション式で使用する必要があります-加算(+)、減算(-)、乗算(*)、除算(/)-これらはSAPNetWeaverで使用されます。
ディメンション式を保存したら、次は構文を検証します。
ロジックスクリプト
ロジックスクリプトを使用すると、財務諸表のBPCでの計算を自動化できます。
ビジネスルール
ビジネスルールは、通貨換算によるバルクデータのインポート、データベースへの入力データなどのデータ操作タスクをカスタマイズするために使用されます。ビジネスルールは、テーブルベースのロジックまたはスクリプトベースのフィルターを使用して変更できます。テーブルベースのロジックはUCONアクセラレータで利用可能な機能を提供し、スクリプトベースのファイルはMDXまたはSQL構文を使用してカスタマイズできます。
以下のアクティビティのビジネスルールを定義できます-
Carry forward rules −新しい会計年度が始まるときの残高の初期化を含みます。
Validation rules −入力データを検証します。
Currency conversion rules −現地通貨をBPCレポートで使用される通貨に変換します。
Intercompany booking rules −会社間取引に一致します。
自動調整およびその他の計算。
BPCシステムでビジネスルールを管理するには-次のスクリーンショットに示すように、[管理]に移動します。「ルール」→「展開」→「ビジネスルール」に移動します。
スクリプトロジック
スクリプトロジックを使用すると、SQLまたはMDX言語で独自のロジックを記述できます。ディメンション式で使用できるさまざまなMDX関数があります。一般的なMDX関数のいくつかは次のとおりです。
Avg-数式の平均値を返します。
カウント-1つのセット内のタプルの数を返し、ヌルセルも含みます。
Max-数式の最大値を返します。
最小-数式の最小値を返します。
Sum-数式の合計を返します。
ディメンション式で使用できる他のMDX関数があります。
Examples of simple rule formulas
[PRODUCT]。[PRODUCT1] – [PRODUCT]。[PRODUCT2]
[SALES]。[SALES1] / [SALES]。[SALES2]
標準の算術関数をディメンション式で使用する必要があります-加算(+)、減算(-)、乗算(*)、除算(/)-これらはSAPNetWeaverで使用されます。
ディメンション式を保存したら、次は構文を検証します。
Examples of Advance Rule Formulas
これには、ある期間から別の期間への計算ディメンション式の移動が含まれます。
[AccRec]売掛金
[AccPay]買掛金
Mvmt Acc Rec | 売掛金の動き | (if([Time] .CurrentMember.Children.Count = 0、[Account]。[AccRec]-([Account]。[AccRec]、[Time] .PrevMember)SUM(Descendants [Time] .CurrentMember、[Time] 。[月]、LEAVES))) |
Mvmtインベントリ | 在庫の動き | (if([Time] .CurrentMember.Children.Count = 0、[Account]。[Inventory]-([Account]。[Inventory]、[Time] .PrevMember)SUM(Descendants [Time] .CurrentMember、[Time] 。[月]、LEAVES))) |
ディメンション式でスクリプトロジックを作成するための構文については、すでに説明しています。
Exceptions in MDX Syntax
以下は、BPCを使用したMDX構文の例外です。
- キーワードASを「=」(等号)記号に置き換えます。
- 式の前後に一重引用符を使用しないでください。
Example
[ACCOUNT]。[#GROSSSALES] =-[ACCOUNT]。[UNITS] * [ACCOUNT]。[INPUTPRICE]
[アカウント]。[#COST] =-[アカウント]。[#GROSSSALES] * 80/100
ワークシートロジック
Excelワークシートで実行されるすべての計算は、ワークシートロジックと呼ばれます。ワークシートロジックには、Excelスプレッドシートで使用できるすべての関数とBPCで提供される関数が含まれています。