cancel
Showing results for 
Search instead for 
Did you mean: 

Migration of Open Tasks when BPM Processes Change during major releases

Former Member
0 Kudos

Hi

This is the most often scenario faced by many project teams during Go-Lives of BPM Processes.

We would like to migrate BPM tasks from older BPM processes to newer BPM process. And there is substantial changes done between two releases.

Though I am aware that older BPM tasks created get suspended, is there way to do the following:

1. Use any migration tools to migrate old BPM tasks to newer BPM task

2. Simultaneously have both Older and Newer BPM Processes run in Environment, let them co-exist till the old BPM tasks get completed

What is the recommended approach for these kind of situations, when its not possible to either of the above activities.

Thanks and Regards,

Srikant

Accepted Solutions (0)

Answers (4)

Answers (4)

ashish_goel4
Active Participant
0 Kudos

Hi All,

Anyone found any way to handle this situation ?

Regards,

Ashish

Former Member
0 Kudos

Hi Srikant,

we were facing the same issues.  We have a solution for this, but it has some prerequisites to make it work.  I actually talked about it at the DSAG (German SAP User Group) conference (see blog) and promised the audience to blog about it in more detail, but haven’t yet found the time to do so.

First very important is to understand how the life cycle works.  There are two very important documents to read:

With complex processes and major changes, it is very complex to maintain multiple versions.  If you read through the above mentioned documents that becomes very clear.  Also there are other complexities, for example code reuse, data, support desk issues or user training.  There are also some restrictions running multiple versions of the same process (SAP Note 1865683)

So here is in short what we did.

We keep all our process data outside the process context in a database including the state, i.e. the current process step.  When we deploy a new major version, we cancel all running process instances and then restart them with the new process model.  To restart processes we use the SAP scheduler which starts a process if a specific status value is found.

If you don’t have your process data easily available you could use the process export function in the NWA.  The export is an XML file that you could possible parse, but I haven't actually tried this method.

In the process model we have an exclusive choice gateway where can import a process to specific process step.  This happens right at start of the process.  The gateway evaluates the status value mentioned above to decide where to go.

I hope to find the time to write the blog soon.  Here I could give you a complete example how we do the reimport of processes.

I’m also very interested in other ways to achieve this, so this should be an interesting discussion.

Regards

Detlev

ashish_goel4
Active Participant
0 Kudos

Hi Detlev,

Did you wrote a blog on how to solve this issue ?

Regards,

Ashish

former_member191643
Active Contributor
0 Kudos

Hi Venkata,

As for this moment, SAP has not provided any such tool.

Old instantiated processes will always run on older deployed version and the newer ones on the latest deployed version.

You can give a try with BPM API using the 'ProcessInstanceManager' API though. But  I don't think it provides managing the deployment versions. Will need some research efforts.

Let us know if something works out. Will be helpful.

Cheers.

Sid

benjamin_notheis
Active Participant
0 Kudos

Hi Srikant

The second approach you are describing actually is the only one I am considering feasible. SAP NetWeaver BPM is not supporting "patchability" of processes. I.e. existing process instances and task instances are continued with the exact same version they have been instantiated with. There is one subtle difference with nested processes, but I do not want to go into too much detail here.

I am wondering about your statement that task get suspended. Are you able to share more details on your observation?

Moreover, I would appreciate if more folks with project experience could share their experiences w.r.t. this question.

Cheers, Benny

Former Member
0 Kudos

Hi Benny,

Thanks for responding to my query. To answer your query on task suspension - whenever we are having major releases, we make changes in both main proesses and nested processes as well.

So whenever a new BPM version is brought in environment, old requests or tasks are getting errored out or suspended.

Given that there is major difference between two bpm processes - how is it possible to support 2 different versions of simultaneously.

Thanks

Srikant