cancel
Showing results for 
Search instead for 
Did you mean: 

PI 7.1 BPM Multiple Receive steps without Correlation

0 Kudos

Hi Experts,

I need to create a BPM, and this BPM can be triggered by two different messages. But, each message has to start a new BPM instance, without waiting for any other message.

I've tried to create a Fork Step putting each Receive step (start) in one single branch, but correlation is mandatory doing this way and i don't want to use it.

One possible solution is to raise an exception after each receive step, and catch the exception on a Exception Branch but I dont like it at all.

Has anyone faced a similar problem?

Thanks in advance.

Best regards,

David,

Accepted Solutions (1)

Accepted Solutions (1)

udo_martens
Active Contributor
0 Kudos

Hi David,

for 2 starting messages you need from a logical point of view to define a correlation because otherwise the process engine cannot decide to add a message to an existing instance or starting a new one.

You might use a dummy correlation but the logical problem remains.

/Udo

0 Kudos

Thanks Udo,

But the problem here is that our messages are independent one from another.

So, the only way to achieve it is to leave only one receive step in the BPM and put mappings outside to get a unique receive step?

Regards,

udo_martens
Active Contributor
0 Kudos

Hi David,

if you want to get a usefull advise you have to describe your challenges much more detailled.

/Udo

former_member184789
Active Contributor
0 Kudos

Hi,

If the steps are independent of each other, then will it be possible for you to have two separate BPM's with a receive step in each. Is there some reason for which you have both these steps inside the same BPM?

Answers (3)

Answers (3)

0 Kudos

Thanks all for your replies.

Adarsh: Use of 2 BPM's for the same process will be hard to maintain.

Tejas: The problem is to put 2 receive steps, so at your solution I assume that you need one receive step with both messages. It could work but probably it's no so clear for monitoring purposes.

Samiullah: Thanks, I've never heard about constant correlation, but in my scenario files are independent one from each other and I don't want BPM instances to be waiting.

Finally, we've decided to let one single receive step at our BPM and put mappings outside that.

Thanks to all.

samiullah_qureshi
Active Contributor
0 Kudos

Probably you can use constant correlation.

http://scn.sap.com/people/samiullah.qureshi/blog/2009/01/09/correlation-without-key-field-using-cons...

However, it is suggested to use constant correlation very carefully because this correlation is true for all running BPM instances.

Regards,

Sami.

Former Member
0 Kudos

Hi David,

Instead of Using FORK, try using the Switch Step and define the variable for Switch as any one of the message's mandatory element that you want the BPM to process.


Say we choose Message 1 -  Employee - Name  ->  If the field is not empty then let the Switch go to Branch one (Default) and you can include all steps in this branch to process the Message 1.

If the field is empty, we make the Switch to go to Branch 2 and here all the steps to process Message 2 should be included.

Hope the above is helpful.

Thanks & Regards,

Tejas Bisen