Activating Workflow Version
Version management in SAP Workflow is very good feature to track the changes. Yet, we do not have easy way to compare two version unlikely in ABAP workbench, It gives us possibility to create different versions for requested changes in workflow.
Consider the following case. You have defined a workflow. It is working correctly on production system. A new requirement has arised and you had to make changes. After that you transported your changes to production system. Everything is fine till that point but there is a question mark. What will happen the current workflows which are still not completed. In some business cases it takes days or weeks to complete workflow. SAP Workflow version emerges at that point.
In SAP Help It’s written that :
Each time a workflow definition is transported into another system, only the active version is transported. If the workflow definition exists in the target system with the same version number, it is overwritten by the transported version if it has no workflows running. Otherwise, the transported workflow definition is saved with a free version number. The transported workflow definition becomes the active workflow definition in the target system.
As a result, the old workflow instances will work as they were defined and the new ones will work with the new definition.
In most cases this works correctly. However in some cases workflow version is not activated. Since there is no active version of workflow exists, workflow doesn’t start. I don’t know the exact case but there is an OSS note about it (OSS note 1027175). To activate the version we can use report RSWDACTIVATE to manually activate the version
When you click on activate icon the selected version is activated and workflow will be working correctly with new active definition.
Nice blog! This question has arisen many times in the past. And it is reassuring to know that workflows in process will continue as they were when they were started. People should also take care as this will not always apply to sub-workflows! If you have a subworkflow that has changed - and the main flow started (but execution has not yet reached the subflow), after the transport when processing reaches the subflow, it will execute the newer version.
I don't recall if I've ever had an issue with a workflow not being activated after transport. The main issue I have encountered is that the event linkage is not activated. I consider this a feature as it allows you to bring a new WF into production but it doesn't fire it off until you've done your due diligence and activated the event linkage.
I didn't take subworkflows into consideration. You are right. Since subworkflow is independent it's normal that subworkflow started with the new definition. However I have never tried this. I'll try to make proof of concept.
I faced this problem currently. I have been using workflows about three years and haven't had this problem till yesterday!