允许在LUW(Transaction_Manager)中提交工作并等待

2020-09-23 18:17发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)在数据处理期间,我使用持久性类。...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


在数据处理期间,我使用持久性类。 因此,我使用IF_OS_TRANSACTION_MANAGER和IF_OS_TRANSACTION启动LUW

在整个过程结束时,我执行...-> end()或...-> undo()的操作来存储或取消对持久对象所做的更改。

好吧,恰好发生在不同的逻辑之间,该逻辑在数据库中存储其他数据并调用COMMIT WORK AND WAIT。

现在这将导致类CL_OS_TRANSACTION中的转储,原因:" OS_COMMIT_TOP_FAILED"。

是否有一种方法可以将其他逻辑封装在我的LUW中,从而允许他们在不影响我的LUW和我的持久对象的情况下进行多次提交工作和等待?

6条回答
风早神人
2020-09-23 18:37

您可以遵循的另一种方法是在其他逻辑中实现隐式增强,并从您的自定义逻辑中将一个标志从内存中导入。 基于此标志,可以控制其他逻辑的Commit Work和Wait语句。 例如,如果调用来自您的方法,则绕过提交工作并等待,因为在处理结束时,按照您自己的逻辑,您将编写一个提交工作语句。 在其他情况下,如果控件直接来自其他逻辑,则使其按原样工作,即使用现有的提交工作和等待语句。

一周热门 更多>