Workflow design questions: FM vs WF to call FM
Hereu2019s a couple of workflow design questions.
1. We have Workitem 123 that allow user to navigate to a custom transaction TX1. User can make changes in TX1. At save or at user command of TX1, the program will call a FM (FM1) to delete WI 123 and create a new WI to send to a different agent.
Since Workitem 123 is still open and lock, the FM1 cannot delete it immediately, it has to use a DO loop to check if the Workitem 123 is dequeued before performing the WI delete.
Alternative: instead of calling the FM1, the program can raise an event which calls a new workflow, which has 1 step/task/new method which call the FM1. Even with this alternative, the Workitem 123 can still be locked when the new workflowu2019s task/method calls the FM1.
I do not like the alternative, which calls the same FM1 indirectly via a new workflow/step/task/method.
2. When an application object changes, the user exit will call a FMx which is related to workflow. The ABAP developer do not want to call the FMx directly, she wants to raise an event which call a workflow .. step .. task .. method .. FMx indirectly. This way any commit that happens in the FMx will not affect the application objectu2019s COMMIT.
My recommendation is to call the FMx using u2018in Update tasku2019 so that the FMx is only called after the COMMIT of the application object.