在BADi中等于'X'的情况下,将'BAPI_TRANSACTION_COMMIT'与'WAIT'参数一起使用会有什么效果?我是否应该期望在LUW提交时SAP会提交数据?
我知道在“BAPI_TRANSACTION_COMMIT”内部,如果您指定参数“WAIT” =“X”,则会发生“COMMIT WORK”或“COMMIT WORK AND WAIT”。
我也知道在BADi中进行“提交工作”是不正确的,但是我是否通过BAPI使用“提交工作并等待”?
The SAP documentation regarding to COMMIT说:
之所以引起我的困惑,是因为我们有一个BADi实现,其中调用了带有参数'WAIT'='X'的上述函数,并且我们发现了一个SAP Notes,其中禁止在该BADi中使用'COMMIT WORK',但是它说“提交工作”,而不是“提交工作并等待”。
因此我可以认为实现是正确的,因为该数据将在LUW完成时提交...或不完成。任何意见?
最佳答案
实际上,当您调用COMMIT WORK
或COMMIT WORK AND WAIT
时,LUW完成了。唯一的区别是COMMIT WORK
是异步的,而COMMIT WORK AND WAIT
是同步的。
设置了BAPI_TRANSACTION_COMMIT
参数的WAIT
等于COMMIT WORK AND WAIT
。没有设置参数,它等于COMMIT WORK
。
这是真的。您不得提交BAdI。如果在执行BAdI之后回滚怎么办?这可能会使您的数据处于完全不一致的状态。
关于commit - BADi中的WAIT = 'X'的BAPI_TRANSACTION_COMMIT,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26494338/