cancel
Showing results for 
Search instead for 
Did you mean: 

BPM: Correlation check

Former Member
0 Kudos

Hi All,

I am developing one BPM:

Receive1 -> Send1 -> Receive2

I am using correlation between Send1 (Cremas Idoc) and Receive2 (ALEAUDIT response), for the testing purpose i have hardcoded one value inside the Cremas-> DOCNUM (EDI_DC40) for instance "001" and after that i am triggering my Scenario, the message is flowing to SAP system and the hardcoded value gets replicated in the table IDXRCVPOR (unders SNDLAD field) in PI system

So table entry in PI table IDXRCVPOR:

DOCNUM     SNDLAD

XXX                 001

And while getting the Reponse ALEAUDIT Idoc message (from SAP to my BPM), i am doing the RFCLOOKUP in PI to change the idoc number field : (/ALEAUD01/IDOC/E1ADHDR/E1STATE/DOCNUM) ) which will be "XXX" with the SNDLAD field value "01" (under the table IDXRCVPOR) so that my corelation gets completed.

But this is not happening, my scenario is failing stating that the correlation does not exist, but i can see the response ALEAUDIT contains the "01" value (so my RFC lookup is sucessful) inside the DOCNUM field and the same filed i have used for my correlation?

so my doubt is when this correlation comes into picture?? Am i following the correct preocedure? Please help

Regards!!

Accepted Solutions (0)

Answers (1)

Answers (1)

nageshwar_reddy
Contributor
0 Kudos

Have you activated the correlation by assigning it to block and send step? Have you used the correlation in receive step? Have you defined the correlation correctly in correlation editor?

Former Member
0 Kudos

Hi Nageshwar,

Yes, i have activated the correlation in Send1 and used it under Receive2. But still my message it is failing.

Can you please confirm me one thing: the correlation will only work for example if the incoming main response ALEAUDIT message itself will have the correct correlation value?

In my case the ALEAUDIT coming from SAP is having some value "XXX" and in my RFCLOOKUP i am converting it to "001" to satisfy my correlation (in the mapping: SAP R3 ALEAUDIT -> BPM ALEAUDIT) because i thought the Abstract Aleaudit Idoc message needs to have correct value to complete the BPM?

Thanks!!

Former Member
0 Kudos

Hi All,

Any inputs please.

Can anyone please tell me that the correct correlation value should be there in the abstract ALEAUDIT message or it should be under the original ALEAUDIT message coming from SAP?

I am totally lost.

Thanks!!

nageshwar_reddy
Contributor
0 Kudos

It should be in the original message. The correlation check is first performed and then based on the result, it is assigned to an existing or new process instance. Where are you doing the RFC lookup?

Former Member
0 Kudos

Hi

I am using lookup while doing mapping between ALEAUDIT (SAP ) - ALEAUDIT (BPM) and using it at the Interface determination level.

So you mean to say that the correlation value needs to exist in the original ALEAUDIT message coming from SAP?

and using RFC Lookup won't help me in this case where i am trying to get the value under  Abstract Aleaudit message?

Regards!!

nageshwar_reddy
Contributor
0 Kudos

Your scenario should work. I meant the message that reaches Business Process Engine should have the correlation value. In your scenario mapping happens before it reaches BPE.

Can you double check if you have activated and used the correlation at correct places?

Do you see a correlation object created in tcode SWF_CRL1? As soon as you activate your integration process, there should be a correlation object available in tcode SWF_CRL1.

Former Member
0 Kudos

Hi All,

I have found something new, i am sending the CREMAS Idoc to receiver SAP system and i have mapped the field DOCNUM (under EDI_DC40) with a unique value (say "XXX" evey time i run the scenario unique value gets generated in this field).

And after posting the idoc in SAP system, i am generating an ALEAUDIT idoc from receiver SAP system.

So when i am viewing the Ack idoc in SAP system after generating the ack using RBDSATE, i can see PI's Idoc number under the field E1STATE-DOCNUM but when the very same ack idoc comes to PI, the E1STATE-DOCNUM filed is getting changed and reflecting the unique number ("XXX") which i have generated in the first flow under the original CREMAS idoc in field DOCNUM (EDI_DC40).

So wanted to know where exactly this conversion is happening?

Note: Currently i am not using any mapping for the ack idoc, means the ack idoc comes into PI and failed at ID level.

Regards!!