cancel
Showing results for 
Search instead for 
Did you mean: 

Correlation

Former Member
0 Kudos

BPM Gurus, could some one give me a good example for a Correlation.

I have gone thru /people/sravya.talanki2/blog/2005/08/24/do-you-like-to-understand-147correlation148-in-xi but still not clear.

I would really appreciate if some can explain that in simple terms and with an example.

Thanks.

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Karen,

To explain you the correlation in simple terms...take a simple example of BPM with a send step(async request) and receive step(async response). I am sending a PO request using the send step and waiting for a PO response using the recieve step. Assume that i have two instances of this BPM running i.e two PO request's going simultaneously. when i get the response back for these two requests , there will be two recieve steps waiting for the response since there are two instances of BPM running. the response need to be assigned the corresponding requests. This is where correlation comes into picture. I can use PO number as my correlation field. i.e I activate my correlation in the send step and use this correlation in receive step (this is configurable in BPM).

Example: PO number needs to be part both request and the response message structure.

BPM instance1:

send step -> activate correlation -> send message with PO Number1

Receive step -> use correlation -> receive response message with PO Number 1.

BPM instance1:

send step -> activate correlation -> send message with PO Number2

Receive step -> use correlation -> receive response message with PO Number 2.

There are many different scenario's whre you can use the correlation..this is one of them...The weblog shows another way of using correlation.

Also Refer SAP help...

Correlating Messages

Use

You use a correlation to assign messages that belong together to the same process instance. A correlation joins messages that have the same value for one or more XML elements. A correlation is therefore a loose coupling of messages: at design time, it enables you to define which message a receive step must wait for, without knowing the message ID.

For example, in a process, receivestep_1receives the message purchaseorder, while receivestep_2receives the message salesorder. Receivestep_1creates a correlation that defines that the corresponding sales order must have the same purchase order number. Receivestep_2uses this correlation. This means that an instance of the process processes a purchase order and the corresponding sales order, which has the same purchase order number.

If it satisfies the relevant correlations, a message can be processed in multiple processes. However, a message is only delivered once per process.

http://help.sap.com/saphelp_nw04/helpdata/en/a5/64373f7853494fe10000000a114084/content.htm

Regards

Anand

Message was edited by: Anand Torgal

Former Member
0 Kudos

Thanks Anand for your detailed Answer and I got the essence of the Correlation Technique.

Thanks for all your patience in explaining me the Techniques. Wonderful.

Have a good day.

Cheers

Karen