cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Multiple BPM with same input

Former Member
0 Likes
397

Hi all,

I have a scenario where there is one source input message for two different BPMs. There is a dependency between two BPMs in such a way that if first one is successful, only then second BPM should start.

I can start first BPM with source Message But when it comes to second BPM, i don't have access to the source message as it is a stateless process.

Now one way to do this is that output of first BPM should contain the entire source message which can be used to call second BPM. Is there any other way that Second BPM can be procesed.

Any help will be really appriciated. Please let me know if i have missed something here.

Thanks

-Kulwant

Accepted Solutions (0)

Answers (2)

Answers (2)

samiullah_qureshi
Active Contributor
0 Likes

I think, the approach that you are thinking of, is the only way to do this.

Santhosh_Vellingiri
Active Contributor
0 Likes

Hi,

You are correct. you can call the second BPM from the first BPM. you would require a receiver determination and interface determination between these two BPM.

Thanks,

SaNv...

Former Member
0 Likes

Hi Santosh,

Thanks for the reply but how will i keep hold of the source message, it wil be lost as soon as first step is processed. Or i can reuse it?

Thanks

-Kulwant

Santhosh_Vellingiri
Active Contributor
0 Likes

Hi,

You can re-use it.... Alternatively you could also try this way

1.Add both the BPM to the same receiver determination step, hence the same source will passed to the both the BPM.

2. In the second BPM have two receive step within fork- one will be the actual source msg and the other will be from the first BPM.

3. When the first BPM process successful, just send a dummy msg to the second BPM so that the control comes out of the fork receiving both the messages and then you could do with your own logic in the second BPM.

The earlier approach would be optimal since the second BPM will be instantiated only after first one, but in this both the BPM will be instantiated at the same time.

~SaNv...

samiullah_qureshi
Active Contributor
0 Likes

Hi Kulwant,

You must be knowing that messages persist in the BPM through out the execution of that BPM instance. You can access the any message, received or generated(by means of transformation step), on any other subsequent steps in the BPM.

So wat all you hav to do is, use a send step of the BPM with the message same as it is receiving on first step. In the receiver determination(in integration directory), you will specify 1st BPM as sender and 2nd BPM as receiver.

Regards,

Sami.

Former Member
0 Likes
Thanks for the reply but how will i keep hold of the source message, it wil be lost as soon as first step is processed. Or i can reuse it?

The original message (say MSG1) that you receive in the BPM is available till the End step......only if you do not do a mapping between the same Message Interfaces (or rather the same container variables)....So if your original message remains intact till the end then you can use it to call the second BPM.

Regards,

Abhishek.