cancel
Showing results for 
Search instead for 
Did you mean: 

Correlating messages

Former Member
0 Kudos

What is correaltion?what is the role of correlation in xi?

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Dear Mahesh,

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.

Defining a Correlation

In a correlation you define the elements that the relevant messages are to be correlated with. For this purpose, you must define the elements in the correlation container. You then specify one or more messages that can satisfy the correlation at runtime. Finally, for each message, define which XML elements of the message payload will fill the elements in the correlation container.

The messages that can satisfy the correlation must give the values in the same format. If this is not the case, you must first perform a value mapping, as is explained in the following example:

You want to define a correlation for Message_A and Message_B by using the purchase order date. Business system A has the purchase order in the format DD.MM.YYYY in Message_A, while business system B has the purchase order in the format YYYY.MM.DD in Message_B. Before the messages can enter the integration process, you must define a value mapping, which will create a uniform format for the date value for the purchase order date in both messages.

Activating and Using Correlations

You can activate a correlation from either a receive step or a send step. To do so, specify the correlation you want to activate in the receive or send step and define how the correlation container is to be filled at runtime. The entire process container is available for this purpose (see also: Containers). A unique key (GUID) is automatically created and persisted for the activated correlation.

You can use a correlation in a receive step. To do so, specify the correlation to be used in the receive step. At runtime, the correlation container is filled with the data from the message received, as is defined in the correlation. The system creates a correlation, compares it with the list of GUIDs and assigns the message to the process instance that has the same GUID.

Within a loop, a correlation can be both created and used by the same receive step (see also: Example: Collecting and Bundling Messages from One Interface).

Validity of a Correlation

A correlation is normally valid within the whole process and can be activated and used for the whole process. However, you can also define a correlation as a local correlation by assigning it to a particular block. You can only activate and use a local correlation in the block that it is assigned to. You can, for example, use local correlations in blocks with dynamic processing to enable a separate value to be processed for the correlation for each block instance.

Activities

Defining a Correlation

1. Enter the name of the correlation in the Object Area of the graphical process editor.

The name must be unique within the process.

2. Choose Details ().

The correlation editor is displayed in the Editing Area.

3. Under Correlation Container, define the elements to be used to correlate the messages.

4. Under Involved Messages, select the messages that can satisfy the correlation at runtime.

5. Using the expression editor, specify for each message, which message element is to fill the corresponding element in the correlation container.

You can use context objects or XPath expressions for this purpose.

Answers (3)

Answers (3)

Former Member
0 Kudos

Hello,

correlations are used in integration processes.

Please have a look here:

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

Regards

Patrick

Former Member
0 Kudos

HI

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, a correlation enables you to define which message a receive step must wait for, without knowing the message ID.

For example, in a process, receivestep_1 receives the message purchaseorder, while receivestep_2 receives the message salesorder. Receivestep_1 creates a correlation that defines that the corresponding sales order must have the same purchase order number. Receivestep_2 uses 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.

You can activate a correlation from either a receive step or a send step.

A correlation is normally valid within the whole process and can be activated and used for the whole process. However, you can also define a correlation as a local correlation by assigning it to a particular block. You can only activate and use a local correlation in the block that it is assigned to.

Former Member
0 Kudos

Hi,

Check these to Understand the meaning of Correlation

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

/people/pooja.pandey/blog/2005/07/27/idocs-multiple-types-collection-in-bpm

/people/sriram.vasudevan3/blog/2005/01/11/demonstrating-use-of-synchronous-asynchronous-bridge-to-integrate-synchronous-and-asynchronous-systems-using-ccbpm-in-sap-xi

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

Regards

Seshagiri