2016年7月23日 星期六

S_ALR_87013019 - Internal order commitment reduce value does not equal actual increase value, and available becames negtive. (order budget exceed)

User 再一次進行 MIRO 做發票驗證時出現 Budget Exceed,查詢了該 Order 後發現,該 Order 的 Commitment 減少的值大概只有一台資產的金額,但 Actual 卻增加了五台資產的金額 (該次發票驗證五台資產),且 Available 竟為負值,因此造成 user 對同 Order 相關 PO 做 MIRO 時,都會一直出現 Budget Exceed 的錯誤




最後發 SAP OSS 得到以下訊息

簡單說就是當 MIRO 時 EKBE (PO history) 的 ZEKKN 欄位的值,要對應到 COOI (Commitments Management: Line Items) 中的 RFKNT,有對應的 Item 才能把 COOI Commitment 的值扣除,如下圖左邊的 ZEKKN 都是 1~3, 1~4, 1~5,這樣的話 COOI 只會把 1~5 的 Commitment Value 會被扣除,也就是說即使該 PO 15 個 Asset,且都已被發票驗證完,但是該 Internal Order 只有 1~5 的 item 會把 Commitment Value 扣除,但 Actual 卻增加了 15 台的金額,最後造成 Actual + Commitment > Budget 因此 Budget Execced。

而 EKBE 的 ZEKKN 來自哪邊呢? 其實就是在 MIRO 做發票驗證時,在 Item 的 Acct. assignment 中點擊後,選擇的 Asset 落在第幾個 item,該 Item 即為 ZEKKN,如下圖表示對 4~7 的資產進行過帳,過帳後 EKBE 即會把 4~7 寫入 ZEKKN

而 EKBE 中的 ZEKKN,對應的是 PO 的 Account Assignment 畫面中的 Serial No.

[ROOT CAUSE] 造成 EKBE 的 ZEKKN 錯誤可能的情況
A) User 自行把 Account Assignment 的 Item 由系統決定的位置轉移到其他 Item,且這些 Item 已經把 Commitment Value 移轉到 Actual

B) 使用 BAPI : BAPI_INCOMINGINVOICE_PARK 這類 BAPI 時,Internal Table : ACCOUNTINGDATA 的 SERIAL_NO 與 Asset No 對應不正確

[SOLUTION]
A) Final Invoice Flag (PO Item) : 解決已過帳造成 MIRO 異常的原因可透過 PO 的 FINAL_INVOICE Flag 釋放 Commitment Value,可不用重做 MIRO 造成的麻煩,如下圖原本 COOI 只有 1~3 有值,勾了 Final Invoice 整個 COOI 該 PO Item 的值都會被清為

B) Do not change the account assignment item value when user post MIRO document.

[FOR EXAMPLE]
以下實際進行 User 變動 Account Assignment 造成的影響

先建立一個 Order,並且開立 PR / PO,購買 15 台各 10,000 TWD 的資產,總共花費 150,000 的金額,即 Allocated 的金額為 150,000,Commitment 也是 150,000

進行 PO 101 收貨共 7 台

進行第一個 3 台 Asset 的發票驗證

經過上面過帳後可以看到 Commitment 的金額 -30,000,而 Actual +30,000,且可以看到 EKBE 的 ZEKKN 是 1~3,而 COOI 的 1~3 金額也被扣除

接下來再對另外 4 台 GR 的 Asset 做發票驗證,故意把系統預設 4~7 的 Asset 移到 1~4 的 Asset

過帳後可以看到 EKBE (PO history) 仍然選擇 1~4 Item,造成 COOI 的 Table其 Commitment Value 只有 4 的 Commitment 金額移除 10,000,但 Actual 卻增加了 40,000,造成原本 Allotted 15000 -> 18000,如果持續發生,則會使得 Available 可能變成負值

[SUMMARY]
在 PO 與 Internal Order 有關聯時,如 Asset 在進行過帳時,盡量避勉 User 自行去修改 Account Assignment 的值,或是 ABAPER 使用 BAPI_INCOMINGINVOICE_PARK 這類 BAPI 時,需確定填入的 ACCOUNTINGDATA Serial_No 與後面 Asset No 一致,針對已過帳的 Internal Order Value 再不回轉 Incoming Invoice 時,可使用 Final Invoice Flag 把異常的 Commitment Value 移除

沒有留言:

張貼留言

How to install & specified python version or distreibtuion package version in google colab

在買了 RTX 3080 要來 挖礦...  嗯~是跑機器學習後,結果發現了 GOOGLE COLAB,其實之前在「GAN 對抗式生成網路」一書就有看到,但資訊人就是什麼都想自己安裝,在本機用 Anaconda + pyCharm 弄了 GPU 環境,結果有天從新竹回家發現家裡沒...