在工作流中调用持久性对象

2020-09-13 20:16发布

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

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


大家好,

我已经使用Persistence类创建了数据模型,并且整个更新过程都封装在一个方法中。

在尝试更新流程的工作流任务中调用此方法。

在持久对象中正确进行了更改,并且没有引发异常。

我尝试了使用事务管理器创建LUW的几种方案:

我正在检查事务管理器(IF_OS_TRANSACTION)中是否有TOP事务,并且该TOP事务已设置EXTERNAL_COMMIT标志,那么我没有在创建新的事务。

在这种情况下,我希望创建旧的LUW(古典),并且工作流框架负责提交工作。

这行不通。

我在常规模块池程序中使用了此数据模型,并且可以正常工作。

在这种情况下,我使用IF_OS_TRANSACTION的START方法创建了新交易。

有人可以建议在工作流中调用持久性数据库对象的实际方式是什么,或者我只需要在此手动调用Commit work

我看过博客

https ://blogs.sap.com/2013/04/23/using-a-persistent-object-in-a-workflow /

我做了大部分工作,但是方式不同。

关于

Sandeep Akella

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

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


大家好,

我已经使用Persistence类创建了数据模型,并且整个更新过程都封装在一个方法中。

在尝试更新流程的工作流任务中调用此方法。

在持久对象中正确进行了更改,并且没有引发异常。

我尝试了使用事务管理器创建LUW的几种方案:

我正在检查事务管理器(IF_OS_TRANSACTION)中是否有TOP事务,并且该TOP事务已设置EXTERNAL_COMMIT标志,那么我没有在创建新的事务。

在这种情况下,我希望创建旧的LUW(古典),并且工作流框架负责提交工作。

这行不通。

我在常规模块池程序中使用了此数据模型,并且可以正常工作。

在这种情况下,我使用IF_OS_TRANSACTION的START方法创建了新交易。

有人可以建议在工作流中调用持久性数据库对象的实际方式是什么,或者我只需要在此手动调用Commit work

我看过博客

https ://blogs.sap.com/2013/04/23/using-a-persistent-object-in-a-workflow /

我做了大部分工作,但是方式不同。

关于

Sandeep Akella

付费偷看设置
发送
2条回答
哎,真难
1楼 · 2020-09-13 20:22.采纳回答

持久对象有点旧,不再是SAP正在开发的对象。

但是...我过去曾经使用过它们,从未遇到过问题。 公平地说,我的工作流程中的用例通常很简单,因此我从未使用过事务管理器。 只需创建/更新,然后提交工作,就完成了。

在我看来,持久性类不应直接在WF中使用,而应包装到业务类中。 混乱的持久性和业务逻辑只会将过多的功能组合到一个类中。 如果确实需要,请看看CL_BOOK_PPF。

在WF书的16.8.2章中也对此进行了描述。

lukcy2020
2楼-- · 2020-09-13 20:20

迈克,谢谢!!

一周热门 更多>

点击此处---> EasySAP.com 一起学习S4 HANA ...

相关问答