点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)尊敬的专家们,我对SAP LUW...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)尊敬的专家们,我对SAP LUW...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
尊敬的专家们,我对SAP LUW有疑问,我一直对SAP LUW回滚机制感到困惑。
如ABAP文档所述,SAP LUW下不允许使用ROLLBACK WORK和COMMIT WORK语句,只有类型A的消息可以隐式回滚SAP LUW,我在下面进行了测试:
我的系统组件版本为:
我如下创建两个表YLUW1和YLUW2,并初始化值:
我写了一份报告来执行PERFORM ... ON COMMIT语句,这是SAP LUW的解决方案之一:
第一种情况,我使用类型为A的消息触发隐式回滚,并且可以正常工作,但是程序因错误而终止。
结果:
第二种情况,在sy-subrc检查下我什么都没写,表YLUW1成功插入,YLUW2插入失败。
结果:
最后一种情况,我引发了一个异常以触发隐式回滚,并且它可以正常工作,但是程序因错误而终止。
结果:
所有这些之后,我的问题是:当任何表插入/更新/删除错误时如何回退SAP LUW,并且我可以捕获SAP LUW错误然后进行处理。 > 1.jpg (47.0 kB)
当您仅使用OPEN-SQL语句时,实际上并不需要整个LUW COMMIT/ROLLBACK,而只需要一些数据库 提交/回滚,因此请执行OPEN-SQL语句,当每条语句都正确时,请致电FM DB_COMMIT,以防出现任何错误,请致电DB_ROLLBACK。 ,请勿以交易程序的形式/方法进行更新,而是在"更新任务"中调用FM,然后执行"提交工作"。 在那些updayt中,FM会在出现SQL错误的情况下发出Abort'A'消息。
一周热门 更多>