• ABAP工作流(workflow)的调试方式


    There are several posts in SCN talking about workflow debugging. Most of them are manually generating an endless loop and then can launch debugger in SM50. However, if you try to debug standard workflow, you are not allowed to manual inject any endless loop in standard code. If the original developer is not so kind to leave any switchable endless loop in standard code, you have to go another way.

    In this example a common debugging approach is demonstrated:

    Document builder is an application provided by SAP which can allow you to generate output file with format PDF, DOCX and HTML from various input with format DOCX, HTML and TXT. The workflow is also supported. When a document is generated and released, one work flow item will be sent to the respective approver.

    However during my testing, I meet with error message “Workflow without approver”, although I have maintained the approver in customizing correctly.

    So I guess there must be something wrong during the agent determination of workflow runtime. In order to find the root cause I have to debug it.

    the involved workflow is WS40400006.

    step1: tcode SMQS to degegister the queue WORKFLOW_LOCAL_001. Never forget to re-register it once you finish debugging.

    step2: step breakpoint on workflow framework method CL_SWF_RUN_WIM_EXECUTION_MGR~START_EXECUTIONS, CL_SWF_RUN_WFM~EXECUTE_QUEUES:

    then repeat the steps to trigger your workflow.

    step3: tcode SWI1. Now you will find one entry for your workflow item. Execute it:

    the first breakpoint is triggered:

    click F8, then the second breakpoint is triggered:

    This method covers the fundamental logic of workflow execution engine. There is a big loop to traverse all steps which are currently executable:

    After some debugging finally I found root cause: there is something wrong with my setting regarding organization unit. After fixing that the error message is gone

    要获取更多Jerry的原创文章,请关注公众号"汪子熙":

  • 相关阅读:
    centos 7.1开机/etc/rc.local脚本不执行的问题
    ssh免密码登录之ssh-keygen的用法
    Centos 7.x临时的网络与路由配置
    Centos 7.x系统安装后的初始化配置
    U盘安装Centos7.1操作系统的问题记录
    linux系统中关于shell变量$*与$@的区别
    linux服务器init 5启动图形界面,报错Retrigger failed udev events
    rpmdb: unable to join the environment的问题解决
    BFS 典型的迷宫问题
    JUnit的基本使用
  • 原文地址:https://www.cnblogs.com/sap-jerry/p/13419898.html
Copyright © 2020-2023  润新知