SAP BPC - 業務邏輯



您可以在 BPC 中對資料執行業務邏輯和指令碼邏輯。可以執行各種計算。

業務規則 - 這些是貨幣函式,用於在業務規劃和合並模型中過賬常見的會計任務。

指令碼邏輯 - 這包括用於對 BPC 系統中的成員、維度和資料執行不同計算的公式。

維度邏輯

維度邏輯用於對維度應用計算和公式。計算根據維度公式在檢索時執行。正確使用維度公式非常重要,因為如果使用不當,它們會影響系統性能。

應用維度邏輯時需要注意的關鍵點 -

  • 維度公式會影響系統性能,因此應正確應用。

  • 維度公式應僅應用於需要在聚合後進行計算的成員。

  • 維度公式應僅用於必須在兩個級別(基礎級別和父級別)計算的比率。

  • 常用的維度成員公式用於執行計算 - 每單位成本、增長率等。

如何定義維度邏輯?

您應該熟悉多維表示式語言才能建立複雜的維度公式。支援的 MDX 函式列表可從功能模組 BAPI_MDPROVIDER_GET_FUNCTIONS 獲取。

前提條件 - 要在維度中使用公式,您應該使用“管理維度”任務選項將名為“公式”的屬性新增到成員工作表。

Define Dimension Logic

您還應該定義欄位長度,並且它應該大於 60 個字元。建議使用較高的欄位長度,因為任何大於 60 的長度都以字串形式儲存在 SAP NetWeaver 中。

如果要在 AppSet 中使用維度公式,則應維護一個型別為 R 的特殊維度成員。此成員稱為本地貨幣 (LC)。

App 集 → 選擇“維護維度成員”。

Define Dimension Logic

公式可以手動建立或從庫維度公式中獲取。要定義成員維度公式,您必須在維度周圍加上方括號,並且兩個維度之間有一個點。

[PRODUCT].[PRODUCT1] – [PRODUCT].[PRODUCT2]

[SALES].[SALES1] / [SALES].[SALES2]

維度公式中必須使用標準算術函式 - 加法 (+) 、減法 (-) 、乘法 (*) 、除法 (/) - 這些用於 SAP NetWeaver。

儲存維度公式後,接下來是驗證語法。

Define Dimension Logic

邏輯指令碼

邏輯指令碼允許您自動化 BPC 中財務報表的計算。

Logic Scripts

業務規則

業務規則用於自定義資料操作任務,例如帶有貨幣轉換的大量資料匯入、將輸入資料匯入資料庫等。可以使用基於表的邏輯或基於指令碼的過濾器修改業務規則。基於表的邏輯提供了 UCON 加速器中提供的功能,而基於指令碼的檔案可以使用 MDX 或 SQL 語法進行自定義。

您可以為以下活動定義業務規則 -

  • 結轉規則 - 包括在新財政年度開始時初始化餘額。

  • 驗證規則 - 驗證輸入資料。

  • 貨幣轉換規則 - 將本地貨幣轉換為 BPC 報表中使用的貨幣。

  • 公司間過賬規則 - 匹配公司間交易。

  • 自動調整和其他計算。

要在 BPC 系統中管理業務規則 - 轉到管理,如下圖所示。轉到規則→展開→業務規則。

Business Rule

Business Rule

Business Rule

指令碼邏輯

藉助指令碼邏輯,您可以使用 SQL 或 MDX 語言編寫自己的邏輯。維度公式中可以使用各種 MDX 函式。一些常見的 MDX 函式包括 -

  • Avg - 返回數字表達式的平均值。

  • Count - 返回一個集合中的元組數量,也包括空單元格。

  • Max - 返回數字表達式的最大值。

  • Min - 返回數字表達式的最小值。

  • Sum - 返回數字表達式的總和。

維度公式中可以使用其他 MDX 函式。

簡單規則公式示例

[PRODUCT].[PRODUCT1] – [PRODUCT].[PRODUCT2]

[SALES].[SALES1] / [SALES].[SALES2]

維度公式中必須使用標準算術函式 - 加法 (+) 、減法 (-) 、乘法 (*) 、除法 (/) - 這些用於 SAP NetWeaver。

儲存維度公式後,接下來是驗證語法。

Script Logic

高階規則公式示例

這包括將計算維度公式從一個時間段移動到另一個時間段。

[AccRec] 應收賬款

[AccPay] 應付賬款

Mvmt Acc Rec 應收賬款變動 (if([Time].CurrentMember.Children.Count = 0,[Account].[AccRec]-([Account].[AccRec],[Time].PrevMember) SUM(Descendants[Time].CurrentMember,[Time].[Month],LEAVES)))
Mvmt 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 中提供的函式。

Worksheet Logic
廣告
© . All rights reserved.