BAPI 异步更新问题

在ABAP开发中,遇到BAPI_PLANNEDORDER_CREATE和BAPI_PLANNEDORDER_CHANGE导致的异步更新问题,表现为计划订单不存在或被锁定。通过研究发现BAPI可能异步更新数据库。解决方案可能涉及使用'SET UPDATE TASK LOCAL'确保更新模块与提交工作在同一进程,以实现同步更新。参考SAP社区文档,但未实际验证效果,期待更多反馈。
摘要由CSDN通过智能技术生成

2011年做过一个日本项目,他们的要求是创建plan order;创建好后立刻去更改这个plan oder。

所以他们要求用到以下两个bapi.

BAPI_PLANNEDORDER_CREATE
BAPI_PLANNEDORDER_CHANGE,

 

程序编写的时候,只是做了一个简单的测试,没有进行批量测试。本以为大功告成的时候,却出现了几个让我抓狂的问题:

 Error 1:  plan order is not existing

 Error 2:  Plan order is locked by ..

 

想来想去,都不明白问题怎么会这样子。

明明在第一步就使用了创建BAPI了,那么order就应该会生成了啊。在调用的第二个BAPI的时候,就理该用到第一步生成的Order。

还有,我刚刚创建的order,怎么会被Lock住呢?别的程序也不可能这么快知道我创建的order。

 

想了半天时间,终于想通了,觉得这两个BAPI是通过异步更新的数据库的。也只有这种解释才符合现实。

原因找到了,但是怎么才能解决这个问题呢?

那时做为初学者的我,也只能请教一个假日本了。 只是他给我的方法也是挺让我无语的。

他让我反复去检查数据库表,反复地用wait。 这样子导致的结果就是这个程序跑得比蜗牛还慢。

 

曾经也想过在网上搜索一下有没有什么方法使得BAPI的异步更新变成同步更新。只是一直没有找到对应的解决办法。

今日偶尔看到一个帖子http://scn.s

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值