|
Re: Re: MTL_TRANSACTIONS_INTERFACE提交問題
最初由 fanpig 发布
[B]
你这种想法是不对的。
你用过系统的子库存转移和杂收发FORM吧,他们的处理就是只要有一条不能过,就全部不可以处理。
你可以在判断中判断所有的,只要有一条不能过,就全部不可以处理。并给出提示哪行不可以通过。或者在数量的WHEN-VALIDATE-ITEM中进行判断(如果有并发的话,这个不太准确)。
我用的是两者的结合。在录入数量时判断一次,在存入接口表时再判断一次所有的。 [/B]
謝謝fanpig 的指教,到現在這個問題一直沒有解決,fanpig 說得對,用的是两者的结合。在录入数量时判断一次,在存入接口表时再判断一次所有的,這點我這兩天也有想到。
我沒有看雜發和庫存轉移的form,產生只卡單筆的想法是因為user有這樣的需求,我昨天也看了公司的另外一個工單發料的程序,他是直接寫的mtl_material_transactions_temp tabel,他會寫入每條記錄的TRANSACTION_HEADER_ID,TRANSACTION_TEMP_ID,所以可以做到只卡單筆。
如果用interface+庫存來判斷庫存是否足夠,當你寫入數據到Interface等待處理時,假設也有其它程序來搶先發料(比如我前面提到過的標准工單發料),那樣也會產生Pending,但是這種方法也是值得借鑒的,因為它還是可以減少以一部分Pending的發生的。
不過現在還是有一點疑問:
Interface 的問題: 不知道為什麼當庫存不夠時mtl_transactions_interface 的 ERROR_CODE ,error_explanation不會有任何信息,並且PROCESS_FLAG始終等於1.按道理如果庫存不夠 ERROR_CODE ,error_explanation應該有提示才對,不過我可以在log裡面看到說庫存不平衡。(我們也有一個subinvtery transafer 的程序也是通過這個interface來處理的,當庫存不夠時,ERROR_CODE ,error_explanation都會有值)。 |
|