为什么ABAP里有些场景必须加上COMMIT WORK才生效
Sent: Friday, November 29, 2013 7:44 PM
Subject: RE: 關于content management的commit work
我找到我們social post和service request behavior 不一致的原因了。
問題就出在紅色的這個FM我們沒有enhance:
它會判斷當前的BO在DB是否存在,根據結果決定是否需要一個顯式的commit:
我們的socialpost落到了WHEN OTHERS里,因為也不是social post,所以就默認為ev_exist = false. 所以總是需要顯式call commit work 才能真正刪除掉link。
所以我們要么enhance上面那個FM,要么繼續在我們的code里使用COMMIT WORK
我之前測試的時候也是hard code成service request 的BOR: BUS2000223
你的util class寫死的刪CRMSOCPOST, 你刪service request的時候在 debugger里面動態改成service request的BOR type么? 是什么?
我刪service request是直接run util class刪的,可以刪掉
From: Wang, Jerry
Sent: Friday, November 29, 2013 4:25 PM
你刪service request的attachment也是在report里刪,但是沒用commit work,也一樣能刪掉?? 我覺得不可能。我正在看代碼
From: 黃忠
Sent: Friday, November 29, 2013 4:23 PM
我在刪的時候需要像下面這樣,call完util class以后commit work, 不然刪不掉
From: Wang, Jerry
Sent: Friday, November 29, 2013 4:14 PM
這只是create的case。我稍后會看Max說的delete的case。
我直接創建document的時候,是在一個test report里面做的,如果沒有加commit work,document創建了之后就get不到,加上才work。
Host BO 和其attachment的relationshi是通過 GOS 維護的。
只有代碼里出現COMMIT WORK, GOS的方法才會在新的update process里被觸發。要debug必須打開update debugging。
真正的link是在這里存的,如果沒有commit work,這些代碼都不會被執行到:
IC 點了end button存BO和interaction的link,也是用的類似的辦法,由application call 一個commit,會trigger Genil的框架執行一次commit work。
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":總結
以上是生活随笔為你收集整理的为什么ABAP里有些场景必须加上COMMIT WORK才生效的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 政府专项债券由谁偿还
- 下一篇: Chrome每次打开时报的关于扩展程序的