cancel
Showing results for 
Search instead for 
Did you mean: 

how to realize Queue handling in BPM?

Former Member
0 Kudos

Hi @ll;

i have a BPM, that works very well.

It receives Orders from our customers, which are related to according quotation in our SAP System.

Inside the PBM, there is additional information readout of the SAP System. After tha the data (Order XMl & additional Data) is

mapped to a Idoc Structure, send to the SAP ERP System and generates a purchase order..

As I said above the BPM works very well and we are satisfied with it.

But there is one little thing, that disturbs.

If many Orders arrive at the "same time" the runtime generates for each of them a individual process instance.

The Idocs are send to the ERP System at the same "time" and it could happen that 2 or more Idoc (orders) belong to the same quotation.

The problem is that fhe first idoc, arriving at the ERP System locks the qutation, so that a error arises if ohter Idocs try to access the same quotation.

I look for a solution, that enables the suppress of the creation of more than one process instance, so that all orders bleong to one BPM.

In that BPM I´d like to send one Idoc after the other with a "wait" step after (using a loop)?

Is that possible?

How to realize it? (using correlation???)

I hope that the szenario & problem is clearly

Thank u for your help

Kind regards

Jochen

Accepted Solutions (1)

Accepted Solutions (1)

VijayKonam
Active Contributor
0 Kudos

Also, you might want to look at the option changing the quality of service to EOIO.. so that tha order is mainatained.. If you look at the interface mapping also, you have a check to enable the "Maintain Order at Runtime"...

VJ

Former Member
0 Kudos

Hi VJ;

thanks for your suggestions.

I tried this already, but unfortunately the EOIO int the Communication Channel and the "Maintain Order at Runtime" in the Interface Mapping

didn´t solve my problem.

@ Fernand

collection of input messages sounds well, how to realize it?

the target is to handle one order after the other and send one Idoc per Order.

it´s possible to define a loop, that contains the procurement of the additional data, the mapping and the send step?

The last step of this loop could be a "wait" step fpr a period of time, maybe 5 minutes, so there is no locking of the quotation.

Is a correlation neccessary fo this? i could search for a field that all incoming messages have in common, so all of them are realted to the same

instance of the BPM?

what do you think? could this be a possible solution of my problem

how to realize that?

thank´s a lot

Kind regards

Jochen

aashish_sinha
Active Contributor
0 Kudos

Hi,

Pretty intresting.

I guess you should need to collect all the IDocs after some certain number of message and the bundle it and map it to a package of IDocs. The package of idocs is then posted into your ERP system via an IDOC adapter. You shuould use collect pattern and apply it to IDoc communication. So you may need to use correlation and N : 1 transformation.

The number of messages to be collected can be determined in one of the 3 ways :

1. A fixed number is explicitly specified (collect 5 messages)

2. A relative or absolute time limit is set (collect until 3 PM or something)

3. message are collected indefinitely until a certain trigger is received.

hope this will help you a bit.

Regards

Aashish Sinha

PS : reward points if helpful

Former Member
0 Kudos

Hi @all;

thanks for your help.

I solved the issue using correlation in BPM.

Kind regards

Jochen

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Jochen,

You can collect first all the orders coming in either using certain period or quantity, and then only bundle it into 1 idoc with multiple message and send to ERP system. This method might be can solve your problem in stead of generate new instance for each orders.

You cannot using correlation because correlation only use if you want to receive multiple message with different format into 1 single instance base on certain key for correlate each others.

Hope can help.

Thank you and Best Regards

Fernand Lesmana