2024年4月17日

如何啟動 SLA MO Security (依 Property Manager 為例)

看起來, Oracle 預設就沒有在  Property Manager (PN) 啟動 SLA 的 MO Policy. 這個會造成如果你的 Ledger 底下有多個 Operation Unit, 它們會在同一個 Create Accounting 底下把全部 OU 的 Subledger 資料都跑出來. 當然就結果論來說, 反正它拋轉到 GL 本來就都是在同一個 Ledger 底下, 從 GL 的角度來看不是個問題; 可是如果使用者會在意 (比如, 把 Create Accounting 的結果當成是一個 Review 節點), 那就是個問題了.

思考點

就我這邊的環境來看, 同 Ledger 有多個 OU 並不是剛出現的情況, 但只有這個 PN 出了這個問題 (AR, AP, FA 等都沒有同樣結果), 那八成是跟 Application 有關. 另外, OU 的問題就應該是跟 MO 設定有關, 但是在看過 Profile "MO: Operating Unit" 與 "MO: Security Profile" 都沒問題後, 就覺得應該還有另外的東西是我不熟悉的.

參考文章

Create Accounting Creates a Single Journal For All Inventory Org. Parameter 'Inventory Organization' not enabled (Doc ID 556261.1)

實際作業

第一步: 更新該 Application 在 XLA_SUBLEDGERS 的設定值

UPDATE  XLA_SUBLEDGERS

SET     SECURITY_FUNCTION_NAME = 'XLA_SECURITY_POLICY_PKG.MO_POLICY'

WHERE   APPLICATION_ID = 240


第二步: 產生對應的 DBA_POLICIES 資料

BEGIN

  XLA_SECURITY_PKG.SET_SUBLEDGER_SECURITY(

      P_APPLICATION_ID => 240

    , P_SECURITY_FUNCTION_NAME => 'XLA_SECURITY_POLICY_PKG.MO_POLICY'

  );

END;


第三步: 把有用到的 SLA "Application Accounting Definitions" 重新 Validate 一次

雖然畫面上是顯示 Valid, 但是因為執行完第二步後 Create Accounting 會報錯, 所以就是一千零一招就好了