SAP MM MIGO過賬報錯 - 用本幣計算的餘額 - 之對策

dicksonjyl560101發表於2019-05-05

SAP MM MIGO過賬報錯 - 用本幣計算的餘額 - 之對策

使用MIGO事務程式碼對採購訂單4500000191,執行收貨,系統報錯:

SAP MM MIGO過賬報錯 - 用本幣計算的餘額 - 之對策

詳細錯誤資訊如下:

用本幣計算的餘額

訊息號 F5703

診斷

含下列明細的本幣"VND"存在餘額。

匯率型別"10",金額" 1"和貨幣程式碼"VND"。

已從呼叫應用程式中傳輸本幣中的資料。

業務背景是,業務建立了一個退貨採購訂單,退貨給國外供應商。退貨之前,業務人員做了批次分割,根據業務實際,退貨數量是由8個批次組成。由於單位換算的緣故,每個退貨批次的數量都到小數點後三位,同時這筆退貨業務裡還涉及到匯率換算。

1), 第一次在MIGO事務裡遇到這種報錯,所以筆者首先想到以這個報錯資訊上網查資料,有人建議如下:

The error is in GL code

GO to FS00 GL Master, for your GL

Go to Control Tab and remove the check box which reads "Only Balance Local currecy"

Consult you FI teams once

根據這個查詢結果,筆者去找財務顧問,讓其幫忙聯絡財務業務,修改總賬科目。財務顧問表示不同意,說 "Only Balance Local currecy" 這個標記不能隨便改,軟磨硬泡的說服了財務顧問,對方答應幫忙修改這個編輯,說是等這筆過賬成功後要趕緊再改回來。不巧的是,這個改動並不成功,SAP系統報錯說該總賬科目餘額不為0!

2),沒有辦法了,只好出大招,找ABAP顧問幫忙看看到底哪裡出問題了。經過Debug程式,發現如下內表資料,

SAP MM MIGO過賬報錯 - 用本幣計算的餘額 - 之對策

其J列(WRBTR)總和不是0,而是0.01,

SAP MM MIGO過賬報錯 - 用本幣計算的餘額 - 之對策

問題在於黃色標記的三行裡,因小數點四捨五入導致三行J列之和是0.01。


在DEBUG模式下,修改了這三行J列裡的資料裡的小數點最後一位,確保三行J列之和是0,最後MIGO 過賬成功!


這個問題,通過這種野蠻辦法算是解決了。不過筆者還是希望能找到一個更為合適的方式來解決類似問題,是故整理成這篇文字,算是拋磚引玉吧。


2019-05-05 寫於蘇州市。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29829936/viewspace-2643294/,如需轉載,請註明出處,否則將追究法律責任。

相關文章