点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
按照我建立的逻辑,我必须循环执行,并为每个项目
1。 使用BAPI_GOODSMOVEMENT_CREATE的发货(GI),如果成功,则提交。
2。 如果创建了GI,则为GI创建转移要求(TR)。 如果成功,则提交。 (问题)
3。 如果创建了TR,则为TR创建转储单。 如果有错误(问题)。
问题:如果在创建TR时出错,我将不得不撤消创建另一个MIGO文档的Goods运动。 因此,如果我使用BAPI_TRANSACTION_ROLLBACK,是否会将所有先前创建/提交的GI/TR/TO反转,因为所有这些都在同一个LUW中?
嗨,
否,BAPI_TRANSACTION_ROLLBACK不会撤销以前的提交。
您应该在前两个步骤中使用BAPI来了解是否有任何错误。 基于此,在第三步结束时调用BAPI_TRANSACTION_COMMIT。 然后,所有3个步骤都将放在一个LUW中,这就是应该完成的方式。
注意
GK
嗨,Srujana Reddy
通过过滤返回bapi内部表中的错误来检查BAPI_GOODSMOVEMENT_CREATE之后的错误。 不要提交结果。
关于
Abinath
逻辑很简单:
全部 提交的事务无法回滚。 在您的情况下,您试图回滚已经提交的事务,而这是不可能的并且也要纠正。
可能您可以按如下所示更改逻辑:
1)不要提交 任何事务,直到您的完整周期成功完成为止。
2)如果周期的任何步骤失败,那么您可以回滚(不预先提交任何事务),这可能对您有利 场景。
问候,
一周热门 更多>