云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

云服务器_连不上服务器_新用户

小七 141 0

有时,当MDG-M流程到达激活阶段时,物料可能会被另一个用户锁定,激活失败:

这可能发生在为物料创建另一个并行流程并有人在编辑模式下打开对话框任务时,大数据公司,或者在协同部署场景中,发生在多个"物料锁定"中的一个"事务"正在运行

此类事件的手动解决方案是由管理员重新启动失败的激活任务。即使这种情况不经常发生,一旦发生,通常也需要时间来检测和修复。

下面我将描述可用于避免此类问题的方法。该解决方案基于基于规则的工作流WS60800086,但也可以应用于其他MDG工作流和其他主数据对象(不仅仅是物料)。

想法

激活失败,因为处理过的物料不能被独占锁定,所以在激活之前,我们应该尝试在自定义代码中设置相同的锁;如果成功,云服务器价格,我们释放锁并继续激活。如果锁定失败,我们应该等待一段时间,然后再试一次。幸运的是,云主机,sapbusinessworkflow有一个很好的特性,什么是数据中台,大数据时代,可以重新启动失败的任务(可恢复的错误,这里有详细信息)。简而言之,如果在工作流任务中引发特殊类异常,则该任务将由运行计划作业的程序RSWWERRE自动重新启动–通常每20分钟有3次尝试(取决于配置)。"特殊类例外"在这里是指从CX\u BO\u临时继承的类

实现

实现至少可以通过两种方式完成:增强标准激活方法(CL\u USMD\u WF\u BO\u SERVICE->ACTIVATE\u CREQUEST)或在工作流中激活之前添加新的后台处理活动。下面我将介绍第二种方法。

如果您的MDG流程基于标准工作流WS60800086,请将其复制到新流程并在激活活动之前添加新活动:

上面,它是在"激活绕过快照"之前添加的,但是,如果您在MDG工作流中使用这两种激活类型,则会在上面指出的两个位置添加活动(在这两个位置使用相同的任务)。

活动和任务的配置可以如下所示:

新类ZCL\u USMD\u WF\u SWW必须实现interface if\u WORKFLOW,有关如何实现您可以在中找到的接口方法的信息许多教程在互联网上或只是检查它是如何在标准类CL\u USMD\u WF\u SWW中完成的

检查对象\u LOCKS方法应该声明如下:

并包含类似的代码:

当然你可以创建自己的异常类来传递有关锁定用户和材料的信息(这里的操作指南)。您还应记住在配置MDG更改请求时分配新复制的工作流。

此处描述的解决方案不会在100%的情况下防止锁定问题,在编辑模式下打开事务的用户可能会参加一些长时间的会议—在尝试激活3次之后,工作流最终将处于错误状态—但在这种情况下,我们应该考虑修复用户,而不是系统