介绍一种不使用 SM50 来调试 ABAP workflow 的方法

举报
汪子熙 发表于 2024/03/01 19:26:17 2024/03/01
【摘要】 SCN 上提供的传统 ABAP 工作流的调试方法,是在工作流处理框架里,手动制造 endless Loop,然后在事务码 SM50 里启动调试工作。所以,如果标准的 workflow 里没有植入 endless Loop,这种调试方式就行不通了。本文介绍另一种 ABAP workflow 的调试方式,选择的产品是 SAP document builder. 这个产品可以根据输入,产生 PDF...

SCN 上提供的传统 ABAP 工作流的调试方法,是在工作流处理框架里,手动制造 endless Loop,然后在事务码 SM50 里启动调试工作。

所以,如果标准的 workflow 里没有植入 endless Loop,这种调试方式就行不通了。

本文介绍另一种 ABAP workflow 的调试方式,选择的产品是 SAP document builder. 这个产品可以根据输入,产生 PDF, DOCX 和 HTML 等不同格式的输出文档。

当 document builder 生产出一个文档时,一个 workflow item 就被发送往对应的审批者。

SAP ABAP工作流是SAP系统中的一个关键组件,它为企业提供了一种自动化和集成的业务流程管理方式。ABAP工作流允许用户定义、管理和执行业务流程,从而实现各种企业活动的协调和监控。这种工作流系统基于ABAP(Advanced Business Application Programming)语言,是SAP系统的一部分,与其他SAP模块无缝集成,提供了强大的灵活性和可扩展性。

ABAP工作流的主要作用包括:

  1. 业务流程建模: ABAP工作流允许开发人员通过图形用户界面对业务流程进行建模。这样,用户可以直观地定义和配置整个业务过程,包括活动、决策和条件等。

  2. 任务分配和路由: 工作流引擎能够自动将任务分配给相关的人员或角色。通过事先定义的规则,工作流能够决定任务的路由,确保它们按照预定的流程进行。

  3. 状态监控和报告: ABAP工作流可以实时监控业务流程的状态。这使得企业能够追踪每个任务的执行情况,了解整个业务流程的进展,并生成相关的报告。

  4. 异常处理: 如果业务流程中发生异常情况,ABAP工作流能够触发相应的异常处理机制。这确保了即使在复杂的业务流程中,也能够有效地处理异常情况。

  5. 集成其他SAP模块: ABAP工作流紧密集成了其他SAP模块,如SAP ERP、SAP CRM等。这意味着它可以与企业的各种业务功能无缝协同工作,确保数据的一致性和集成性。

笔者在实际工作中,在 workflow agent determination 过程中,遇到了错误消息 Workflow without approver,本文介绍如何通过单步调试的方式,找到这个错误的根源。

the involved workflow 的 id 为 WS40400006.

下面是单步调试的详细步骤。

  1. 使用 tcode SMQS 来 degegister 名叫 WORKFLOW_LOCAL_001 的队列。

但是一定记住,当完成调试时,一定要重新注册,否则会影响系统其他标准 workflow 的正常执行。

  1. 在 workflow framework method 设置断点:CL_SWF_RUN_WIM_EXECUTION_MGR~START_EXECUTIONS, CL_SWF_RUN_WFM~EXECUTE_QUEUES:
    然后重新触发 workflow.

  2. 使用 tcode SWI1,能发现新生成的 workflow item,点击 Execute 按钮:

然后断点触发了:

通过调试,我也找到了问题的根源。

我的 organization unit 设置有误。

调整之后,问题消失。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。