最近遇到业务上一个BAPI程序,ALV报表中读取BAPI更新后的结果,会出现取值错误(与数据库中不一致的情况)。如果BAPI调用后,BAPI提交后,WAIT 2 SECONDS,等待2秒可以避免这种情况,但是不能满足业务对实时性的性能要求。后来某人解决的方法是调整了BAPI的同步异步更新参数。采用同步更新的方式,解决了这个问题。
CALL FUNCTION 'HU_POST'
EXPORTING
* IF_SYNCHRON = ' '
IF_SYNCHRON = 'X'
IF_COMMIT = 'X'
IS_OBJECT = GS_OBJECT
IMPORTING
ET_MESSAGES = GT_MSG.
http://kb.cnblogs.com/a/1486612/
黄佳《SAP高级应用开发》,第二章BAPI和业务对象学习笔记,记录如下:
BAPI:Business Application Programming Interface.
一,SAP Business Object
A, SAP面向对象的架构:business component业务组件、business object type业务对象类型、BAPI
B, 业务对象类型即SAP系统中的

在SAP中,BAPI的同步异步调用影响着数据的实时性和一致性。同步更新能确保数据即时写入,但可能影响性能;而异步更新可能导致数据不一致。通过调整BAPI的同步参数可以解决此类问题,如在ALV报表中正确获取BAPI更新后的结果。BAPI是业务应用编程接口,基于RFC协议,遵循ACID事务模型,适用于对话和分布式应用。

2386

被折叠的 条评论
为什么被折叠?



