Triggering methods
Are there any other triggering methods than Message control, Change pointer, user exit/ABAP Program for Workflow and which one is preferred?
Are there any other triggering methods than Message control, Change pointer, user exit/ABAP Program for Workflow and which one is preferred?
This is an excellent question and one that I am asked often. To my knowledge, these are the mechanisms available in triggering workflows:
1. Manual - Call a function module to trigger the workflow (ie. SWW_WI_START_SIMPLE). It would be logical to say that there is less overhead using this method (ie. no writing to the event log) however I am yet to encounter a situation where I have chosen to manually start a workflow because of performance issues.
2. Raising an event - Raising a workflow event seems to be the most common way of triggering workflow. This approach follows the publish/subscribe paradigm and hence provides more flexibility then simply 'hard coding' the workflow that you want to kick off.
All the other workflow mechanisms end up utilizing one of the above approaches. They are:
Message Control - Uses workflow events and manual triggering. Message control is used more often in SD and MM applications
Change Document - Uses workflow events
Status Management - Uses workflow events
LIS (Logistics Information System) - Uses workflow events
I am sure this list is not exhaustive and that there are other mechanisms that I have not mentioned.
Regarding the second part of your question, I do not think that either is 'preferred'. It all depends on what your considerations are. If performance issues are a concern then perhaps the 'manual' approach is preferable else I would recommend using events due to the flexibility offered.