cancel
Showing results for 
Search instead for 
Did you mean: 

Correlation, What happnes?

Former Member
0 Kudos

Hello friends,

i bit unable to pass thru from Correlation topic in bpm.

i read

/people/sravya.talanki2/blog/2005/08/24/do-you-like-to-understand-147correlation148-in-xi

and

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

my question is,

->what exactly happnes in Correlation!

->why we will define a variable, FileType as string and a message interface in correlation editor

->what is 'use correlation' and 'active correlation' in block step

somebody clear my way please.

VG

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi Venkat,

Below is the explanation for correlation by Anand Torgal which i think will be helpful to u....

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,

Abhy

bhavesh_kantilal
Active Contributor
0 Kudos

Hi,

Correlation as the name implies is used to correlate Messages.

Consider a case when you have multiple Recive Steps in a BPM in a fork. Consider when one of the messages is available immdeiately, BPM picks the message and waits for the second message. Even before the seconds message is available , if the first messsage becomes available again, another BPM is started and you have multiple BPM's in the wait state. Now, when the first message is recived, how will you determine which BPM thsi message belongs to.

Correlation is thus used in such cases to help identify / group messages.

Regards,

Bhavesh