当在 BADi 中等于 'X' 时,使用带有 'WAIT' 参数的 'BAPI_TRANSACTION_COMMIT' 会有什么影响?我是否应该期望 SAP 在 LUW 提交时提交数据?
我知道如果您指定参数“WAIT”=“X”,在“BAPI_TRANSACTION_COMMIT”内部会发生“COMMIT WORK”或“COMMIT WORK AND WAIT”。
我也知道在 BADi 中进行“提交工作”是不正确的,但如果我通过 BAPI 使用“提交工作并等待”?
这将按照注册顺序和在公共数据库 LUW 中执行所有高优先级 (VB1) 更新功能模块。如果不指定添加AND WAIT,程序不会等到更新工作进程执行完毕(异步更新),而是在COMMIT WORK后立即恢复。但是,如果指定了添加AND WAIT,COMMIT WORK 之后的程序处理将不会继续,直到更新工作进程执行了高优先级更新功能模块(同步更新)。
当所有高优先级更新功能模块都成功完成后,该语句将低优先级(VB2)更新功能模块按照注册的顺序一起执行到公共数据库LUW中。
我的困惑是因为我们有一个 BADi 实现,其中使用参数“WAIT”=“X”调用了上述函数,并且我们发现了一个 SAP Notes,它禁止在该 BADi 中使用“COMMIT WORK”,但是它说“提交工作”而不是“提交工作并等待”。
因此,我可以认为该实现是正确的,因为当 LUW 完成时将提交该数据……与否。任何意见?