如何将工作流的默​​认优先级切换为" 1",然后获得快速通知?

2020-09-19 14:49发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)人们好, 我仍在...

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

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


人们好,

我仍在努力执行简单的工作流程/任务以向新开发人员显示弹出窗口,以使他/他了解我们的开发准则。

在解决另一个问题-我已经将其标记为已回答,尽管我们尚无法真正查明沙箱与工具箱之间的根本原因/差异 开发系统呢-我试图找到一种方法来将工作流或任务的优先级从默认值" 5"更改为" 1",以使其快速交付给开发人员的收件箱。 如果开发人员直接通过他们的第一个或下一个操作获得提示,则该弹出窗口将仅用于其目的,否则它将不会被注意到并且会在他们的业务工作区中永远徘徊。

我试图找到一种解决方案,但是我得到的搜索结果对当前的主题没有帮助或没有帮助。 所以,我想知道:是否有一个简单的选项可以更新容器中显示的默认值?

我已经找到一种解决方法,可以通过功能模块SAP_WAPI_CHANGE_WORKITEM_PRIO更改工作项的优先级,在通过SAP_WAPI_START_WORKFLOW成功创建工作项后,可以从包装程序中调用该优先级。 这已经有效,并且是可以接受的选择。

但是,还有另一个障碍:

即使工作项的优先级为" 1",用户也不会提示输入明确的工作项。 我有一个预感,在此过程中缺少用于用户名/代理的某些字段分配,但是我无法指出在哪里以及如何更正此错误。

以下是一些线索:

任务通过带有prio 1的程序触发,并立即在我的业务工作区收件箱中显示为"就绪"

我的期望是,我会首先提示我有关此项目的提示,但我没有得到。

当我再次运行包装程序时,可以选择通过FM SAP_WAPI_WORKITEMS_BY_TASK为我的用户列出最新的可用工作项,但最后一个未显示,但是前一个我已经单击过且状态为"已执行" "。

当我进入SWI1在READY状态下查找工作项目时,我会收到此信息,其中Agent列显示"无当前处理器":

我不太了解为什么Agent空着,但是系统仍将其显示在我的收件箱中-因此它必须知道这是针对谁的(我想是)。

一旦我从收件箱中单击该项目,然后再次关闭弹出窗口,它将显示状态" COMMITTED",然后在"代理"列中有我的名字:

当我再次打开该项目并单击"提交"按钮时,该项目显示为COMPLETED:

所以,我的问题是:

  1. 当项目处于"就绪"状态时是否应已填写"代理"?
    5月17日更新:感谢 Rob的回应,我现在明白了为什么代理人为空
  2. 如果答案为"是",我如何填写该信息,然后是否还会提示用户快递通知?
    5月17日更新:感谢 Rob的回应,我现在知道在哪里设置优先级。 不幸的是,这仅在通过SWDD测试时有效,而在通过包装程序创建工作项时无效。
  3. 如果答案为"否",如何在开发人员的面前显示快速通知?
    更新5月17日:我仍然无法获得"快速通知"弹出窗口 即使在用户收件箱中优先级为" 1"的工作项正在等待状态为"就绪"的情况下,也会显示""。 这实际上是此实现的关键部分。 如果没有此通知正常运行,将其发挥作用就没有多大意义。

请让我知道还需要工作流程和任务定义中的哪些信息,以查找可能缺少的地方,我将在评论中添加一些屏幕截图。 目前,我真的不知道在哪里寻找什么,因此只会给已经很久的问题增加不必要的混乱。

非常感谢和欢呼

Baerbel

utility-wf-defaultpriority.jpg (53.8 kB)
6条回答
吹牛啤
2020-09-19 15:15 .采纳回答

经过更多的反复试验,并感谢 Rob Dielemans 迈克·波克拉卡我现在有一个解决方案。

大多数逻辑发生在我的包装程序中,该程序执行以下操作:

  1. 基于使用FM BAPI_USER_GETLIST的选择屏幕输入来选择用户。 接下来的步骤将在循环中为所选用户完成
  2. 确定谁实际与FM SUSR_USER_AUTH_FOR_OBJ_GET一起拥有S_DEVELOP,并且仅对那些拥有FM SUSR_USER_AUTH_FOR_OBJ_GET的人进行
  3. 填写相关数据并使用FM SAP_WAPI_START_WORKFLOW触发任务
  4. 如果任务被成功触发,则使用FM SAP_WAPI_CHANGE_WORKITEM_PRIO将新创建的任务的优先级更改为" 1"(表达)(仅在工作流/任务定义中设置状态似乎还不够)
  5. 如果该方法仍然有效,请通过CL_BCS中的方法向开发人员触发一条简短的内部快递消息,以提醒他/他有关正在SAP Business Workplace中等待处理的新工作项目的信息。 我通过旧讨论线程找到了该类,其中提到了示例程序可用于如何利用 它。 程序BCS_EXAMPLE_3具有适用的代码,我只需要稍作修改并放入程序中的方法即可。
  6. 第3步到第5步的结果在ALV列表的串联消息字段中报告
  7. 作为步骤3至6的替代方法,程序还可以仅通过FM SAP_WAPI_WORKITEMS_BY_TASK列出所选用户的最新工作项的状态

最重要的是:事实证明,这比我最初想象的要复杂得多,但是这也使我有机会尝试SAP工作流,并尝试使用ABAP-OO逻辑。 对于我想解决的要求,这可能不是最直接的解决方案,但是只要可行,我就可以接受!

再次感谢并欢呼

Baerbel

一周热门 更多>