cancel
Showing results for 
Search instead for 
Did you mean: 

Using correlation with asynch RFC - Please Help!

Former Member
0 Kudos

Hi !

We have this scenario:

1) receive asynch messageA

2) transform messageA to messageB

3) send ASYNCH RFC messageB

4) receive RFC messageC

5) switch condition based on messageC

5-ok branch) send messageA

5-err branch) throw exception

We have only 3 containers, they are all abstract interfaces: messageA, messageB and messageC.

We need to correlate steps 3) and 4), to match the returning messageC with the corresponding sent messageB.

Is it ok to complete "Activate Correlation" in Send step 3) and only "Use Correlation" in Receive step 4), both with the same "name" ??

how do we correlate different message types? (messageB <> messageC) do we need to use a container to correlate?

Thanks !

Matias

Accepted Solutions (1)

Accepted Solutions (1)

henrique_pinto
Active Contributor
0 Kudos

Hey Matias,

correlation works like this: you must have some field with the same information (usually some ID or something) in both RFCs (B and C).

To define correlation, click the button over the containers and select correlations. There you can enter a new correlation and click on "edit correlation". Then you can edit it. There, you enter a new correlation string (for example, "ID"), then select the message interfaces which will use this correlation (in the case, messageB and messageC) and then you select the field, for each message interface, which corresponds to that correlation string (which field contains your ID).

Then you use this correlation in messageC receive step and activate it in messageB send step.

Regards,

Henrique.

Answers (1)

Answers (1)

Former Member
0 Kudos

Matias,

You are right..u need to activate correlation step 3 and use it in step 4.

Correlation between diff msg types happens this way..

when you define a correlation...u've to defien the fields of the correlation, and the participating msg interfaces and how each msg interface populates/reads the correlation fields

eg.

Correlation Name: MatchPO

Definition:

PO_Number XSD simple Type xsd:string

Participating Interfaces:

MI_Purchase_Order

MI_Sales_Order

PO_Number = MI_Purchase_Order/Header/PONUM

PO_Number = MI_Sales_Order/Header/Sales/PONR

to define the correlation...u need to switch to correlation editor from process view in Integration Process editor

hope it is clear now..

praveen