Sap-bpc-business-logic

提供:Dev Guides
移動先:案内検索

SAP BPC-ビジネスロジック

BPCのデータに対してビジネスロジックとスクリプトロジックを実行できます。 実行できるさまざまな計算があります。

ビジネスルール-これらは、Business Planning and Consolidationモデルで一般的な会計タスクを転記するために使用される通貨関数です。

スクリプトロジック-これには、BPCシステムのメンバー、ディメンション、およびデータに対して異なる計算を実行するために使用される式が含まれます。

ディメンションロジック

ディメンションロジックは、ディメンションに計算と数式を適用するために使用されます。 計算は、取得時にディメンション式に従って実行されます。 誤って使用すると、システムのパフォーマンスに影響を与える可能性があるため、ディメンション式を正しく使用することが重要です。

ディメンションロジックを適用する際に覚えておくべきポイント-

  • 次元の式はシステムのパフォーマンスに影響するため、正しく適用する必要があります。
  • ディメンション式は、集計後に計算が必要なメンバーにのみ適用する必要があります。
  • ディメンション式は、ベースレベルと親レベルの両方のレベルで計算する必要がある比率に対してのみ使用する必要があります。
  • 共通ディメンションメンバーの数式は、単位あたりのコスト、成長率などの計算を実行するために使用されます

ディメンションロジックを定義する方法

複雑なディメンション式を作成するには、マルチディメンション式言語に精通している必要があります。 サポートされているMDX関数のリストは、機能モジュールBAPI_MDPROVIDER_GET_FUNCTIONSから入手できます。

前提条件-ディメンションで数式を使用するには、ディメンションタスクの管理オプションを使用して、Formulaというプロパティをメンバーシートに追加する必要があります。

次元ロジックの定義

また、フィールドの長さも定義する必要があり、60文字を超える必要があります。 60を超える長さは文字列としてSAP NetWeaverに格納されるため、より長いフィールド長が優先されます。

AppSetでディメンション式を使用する場合は、タイプRの特別なディメンションメンバーを維持する必要があります。 このメンバーは、現地通貨(LC)と呼ばれます。

アプリセット→[ディメンションメンバーの維持]を選択します。

次元ロジックの定義

数式は手動で作成するか、ライブラリディメンションの数式から取得できます。 メンバーディメンション式を定義するには、ディメンションの周りに角かっこを配置する必要があり、2つの間にドットがあります。

[PRODUCT]。[PRODUCT1] – [PRODUCT]。[PRODUCT2]

[SALES]。[SALES1]/[SALES]。[SALES2]

標準算術関数は、ディメンション式で使用する必要があります-加算(+)、減算(−)、乗算(*)、除算(/)-これらはSAP NetWeaverで使用されます。

ディメンション式を保存したら、次は構文を検証します。

次元ロジックの定義

論理スクリプト

論理スクリプトを使用すると、財務諸表のBPCでの計算を自動化できます。

論理スクリプト

ビジネスルール

ビジネスルールは、通貨換算を使用したバルクデータインポート、データベースへの入力データなどのデータ操作タスクをカスタマイズするために使用されます。 ビジネスルールは、テーブルベースのロジックまたはスクリプトベースのフィルターを使用して変更できます。 テーブルベースのロジックはUCONアクセラレータで利用可能な機能を提供し、スクリプトベースのファイルはMDXまたはSQL構文を使用してカスタマイズできます。

次のアクティビティのビジネスルールを定義できます-

  • キャリーフォワードルール-新しい会計年度の開始時に残高の初期化が含まれます。
  • 検証ルール-入力データを検証します。
  • 通貨変換ルール-現地通貨をBPCレポートで使用される通貨に変換します。
  • 会社間予約ルール-会社間取引に一致します。
  • 自動調整およびその他の計算。

BPCシステムでビジネスルールを管理するには-次のスクリーンショットに示すように、管理に移動します。 [ルール]→[展開]→[ビジネスルール]に移動します。

ビジネスルール

ビジネスルール

ビジネスルール

スクリプトロジック

スクリプトロジックの助けを借りて、SQLまたはMDX言語で独自のロジックを作成できます。 ディメンション式で使用できるさまざまなMDX関数があります。 一般的なMDX機能のいくつかは次のとおりです-

  • Avg-数値式の平均値を返します。
  • カウント-1セット内のタプルの数を返し、nullセルも含まれます。
  • Max-数値式の最大値を返します。
  • Min-数値式の最小値を返します。
  • Sum-数値式の合計を返します。

ディメンション式で使用できる他のMDX関数があります。

単純なルール式の例

[PRODUCT]。[PRODUCT1] – [PRODUCT]。[PRODUCT2]

[SALES]。[SALES1]/[SALES]。[SALES2]

標準の算術関数は、ディメンション式で使用する必要があります-加算(+)、減算(-)、乗算(*)、除算(/)-これらはSAP NetWeaverで使用されます。

ディメンション式を保存したら、次は構文を検証します。

スクリプトロジック

事前ルール式の例

これには、ある期間から別の期間への計算ディメンション式の移動が含まれます。

[AccRec] Accounts Receivable

[AccPay] Accounts Payable

Mvmt Acc Rec Movement in Accounts Receivable (if([Time].CurrentMember.Children.Count = 0,[Account].[AccRec]-([Account].[AccRec],[Time].PrevMember) SUM(Descendants[Time].CurrentMember,[Time].[Month],LEAVES)))
Mvmt inventory Movement in Inventory (if([Time].CurrentMember.Children.Count = 0,[Account].[Inventory]-([Account].[Inventory],[Time].PrevMember) SUM(Descendants[Time].CurrentMember,[Time].[Month],LEAVES)))

ディメンション式でスクリプトロジックを作成するための構文は既に説明されています。

  • MDX構文の例外*

以下は、BPCを使用したMDX構文の例外です-

  • キーワードASを「=」(等号)記号に置き換えます。
  • 式を単一引用符で囲まないでください。
  • 例 *

[ACCOUNT]。[#GROSSSALES] =-[ACCOUNT]。[UNITS]* [ACCOUNT]。[INPUTPRICE]

[ACCOUNT].[#COST] = -[ACCOUNT].[#GROSSSALES]*80/100

ワークシートロジック

Excelワークシートで実行されるすべての計算は、ワークシートロジックと呼ばれます。 ワークシートロジックには、Excelスプレッドシートで使用可能なすべての機能とBPCで提供される機能が含まれています。

ワークシートロジック