2017年11月22日 星期三

Commit work and wait無作用解析

原文:
https://blogs.sap.com/2013/01/24/commit-work-and-wait-does-not-work-as-expected-or-why-to-use-wait-up-to-xx-seconds/

摘要:
1.BAPI有自己的參數設定commit work,必須先取消
2.BAPI要用BAPI_TRANSACTION_COMMIT (WAIT = ‘X’)
3.分組實施相同的bapi功能,而非連續建立、變更單一物件。如單一程式連續建立PO完畢,再針對建立完畢的PO做更改。
4.重複查詢物件是否已建立,再進行下一步,並且限制重複查詢的最大次數。
5.重複嘗試鎖定表格,如未能鎖定,表示上一步的寫入尚未完成,當可以鎖定之後,再解鎖進行下一步。
5.1鎖定表格的方式,se11->"lock object"->f4->All selections->Base table->表格名稱
5.2"ENQUEUE_"+"lock object",如"ENQUEUE_EVVBAKE"
6.有些特殊的用Function module ‘TRANSACTION_BEGIN’。或是‘TRANSACTION_END’,效果只限commit work沒有wait。