在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 WORKCOMMIT 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/

10-14 04:09