Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
Former Member

Workflow debug is not easy. Breakpoints do not work. There is only one effective way to debug Workflow.

You will need access to transaction SM50 - Work Process Overview.

You will need authorization to "Debug Process".

You will need authorisation to "Change values during debug".

Once you have checked you have all the authorisations, you have to create a FM or Method to wait.

The best practice is to create the following "Workflow debug" Table for control.

This way you can have a number of "breakpoints" and you can activate and deactivate them.

EVENT_NAME     Event name

ACTIV                  Event activ or not

WAIT_TIME          Time to wait in seconds

Your FM or Methode should be called from the BOR or Class method.

For example

CALL METHOD zcl_workflow_help=>debug_wait( x_event = 'FIND_CUSTOMER' ).

The Method can be for example:

DATA:

  lv_wait_until TYPE tims,

  ls_workflow_debug TYPE zworkflow_debug.

SELECT SINGLE * FROM zworkflow_debug INTO ls_workflow_debug

  WHERE event_name = x_event.

IF ls_workflow_debug IS NOT INITIAL.

  lv_wait_until = sy-uzeit + ls_workflow_debug-wait_time.

  DO.

    GET TIME.

    IF ls_workflow_debug-activ IS INITIAL OR lv_wait_time LE sy-uzeit.

      EXIT.

    ENDIF.

  ENDDO.

ENDIF.

In the table Workflow Debug you can set debug ON and OFF.

Once you have set it ON you need to run your workflow.

The workflow will wait for as many seconds as you have set.

During this time you need to start transaction SM50.

You find the waiting workflow task.

You debug the program.

In debug mode you set "Activ" off.

Than your program continues and you can debug it.

7 Comments
Labels in this area