Oracle EBS PO調用API修改一攬子發放行需求日期或數量引發單價變更

背景:
        最近,客戶的用戶反映批量修改或拆分一攬子發放行的需求日期或承諾日期或數量時,自動修改該發放行的單價爲對應PBA行的單價。
解決方法:
        通過實際數據分析、參考官方文檔和數據測試得出如下:
        調用修改或拆分一攬子發放行API時,首先更新對應發運行表“PO_LINE_LOCATIONS_ALL”的字段“MANUAL_PRICE_CHANGE_FLAG”爲Y,然後調用API,就不會再把發運行的單價默認更新爲對應PBA行的單價了。
參考官方文檔如下:

Only for Blanket Release shipments: Y if the user has manually entered a price overriding the Blanket Agreement price, N or null otherwise.

系統標準功能:如何使用得發運行表“PO_LINE_LOCATIONS_ALL”的字段“MANUAL_PRICE_CHANGE_FLAG”爲呢?
1.設置PBA對應行允許修改單價:
path:PO->Purchase Orders->Purchase Orders
如下圖PBA行頁籤Price Reference的"Allow Price Override"勾選,該PBA的發放行的單價就可以修改。

2.修改Blanket Releases行的單價,參考如下圖,只要用戶手工修改單價保存以後,發運行字段MANUAL_PRICE_CHANGE_FLAG就標誌爲Y。注意:該發運自動開票生產AP Invoices的單價也是當前發運行的單價

由於調用API修改發運行的數量、承諾日期和需求日期時,單價賦值爲空,系統認爲不修改單價。因爲發運行表“PO_LINE_LOCATIONS_ALL”的字段“MANUAL_PRICE_CHANGE_FLAG”爲空或N,所以系統會自動默認改爲PBA行的單價。
參考:Oracle EBS Interface/API(19)-PO修改行或發運行的單價、數量、需求日期和承諾日期等等

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章