cancel
Showing results for 
Search instead for 
Did you mean: 

CORRELATION PROBLEM

Former Member
0 Kudos

Hi,

I am facing a problem in BPM, in which the correlation is properly configured.

The BPM consists of a sequence of steps , in which a number of receive steps are there:

something like:

recv1 (start of bpm)>s1>s2->recv2>s3>s4--->recv3->s5->stop.

now the recv1,recv2,recv3 are ment for receving separate RFC calls from R3 and proceed with following steps like S1,S2,S3..etc.

Now if it gets the rfc call from R3 system related to recv1 it will execute s1,s2 and waiting there in recv2, untill another rfc is trigurred from r3 which is related to recv2.

In our ERP scenario, multiple bpm process can exists parallely, so it may happen that two BPM are waiti simultanously in recv2 step, and from r3 one RFC (ment for recv2 step of first BPM) is triggured...so logically the first BPM should move ahead with execution of step s4 s5, and the second BPM will still wait for the recv2 step.

I have have configured the correlation properly to let the scenarion work..

But the problem is, whenever we have RFC call from R3 for step recv2 , all the BPMs waiting at recv2 step got triggured..I assume the correlation is failing...but the correlation container contains valid data to uniquely identify each BPM.

please let me know what could be the problem.

We have recently installed SP14 patch, is that creating any problem??

Thanks in Advance,

Anid

Message was edited by: Anid

Accepted Solutions (1)

Accepted Solutions (1)

MichalKrawczyk
Active Contributor
0 Kudos

Hi Anid,

>>>>all the BPMs waiting at recv2 step got triggured

this means that your correlation is not properly configured and the BPM does not recognize that it should

put the message only to the correct BPM instance

have a look at question 24 (intergration engine section)

on my XI FAQ page - it shows how can you create

a correlation yours with two receive steps should be

very much the same

when you get it correct only one BPM will be triggered

Regards,

michal

-


<a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions">XI FAQ - Frequently Asked Questions</a>

Former Member
0 Kudos

Hi Michal,

Thanks for ur reply. I have seen that webblog.But the problem is i am not getting any error in the BPM when i check the correlation or activat the bpm.

even i checked in sxi_cache, the BPM has a return code 0..which implies its correctness.

But when i went into the workflow, and check for the value of the correlation element (which corresponds a RFC parameter, this RFC is related to the recv2 step) from in the container, its empty!!!!

But i am mailing that parameter value of the RFC in the next step, and that mail shows that it Parameter has a value..

did i made myself clear?

well not getting why its failing.

any feed back will be appreciated.

MichalKrawczyk
Active Contributor
0 Kudos

hi,

inside BPM you can check correlation value

(technical workflow log)

like I said your correlation is probably not correctly defined

Regards,

michal

-


<a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions">XI FAQ - Frequently Asked Questions</a>

Former Member
0 Kudos

I think what Michal wanted to point out is that your BPM may be syntactically correct, but it might just not do what you want it to do. So you'd have to configure it "properly".

I don't know if your scenario could work if you send various instances of the same message type and don't send some instance number with the second receive step to choose the right waiting message.

Former Member
0 Kudos

hi all,

thanks a lot for your reply.Yes i checked in BPM workflow...the correlation container dint contain any value, as i mentioned in the previous post.

Perhaps i found the reason too..

please answer my query...

Now this co-relation is activated on a variable PRNO in first receiv step for a msg (its showing in BPM workflow).

For the second receive step (recv2) I have a message type with 'Item Node' <b>0..unbound,</b>

like

<?xml version="1.0" encoding="UTF-8"?>

<ns0:Z_RFC_RFQ_CONFIRMATION xmlns:ns0="urn:sap-com:document:sap:rfc:functions">

<ITAB>

<PRNO/>

<RFQ_NO/>

<VENDOR/>

<QUOTE_DEADLINE/>

</ITAB>

</ns0:Z_RFC_RFQ_CONFIRMATION>

this RFC message got triggered from R3 and look for recv2 (see picture of my first post)and i try to co-relate on PRNO (remember itab node may have multiple record, all with same PRNO)..<i>is this 0..unbound criteria failing the correlation in second receive step?</i>

Message was edited by: Anid

Message was edited by: Anid

MichalKrawczyk
Active Contributor
0 Kudos

hi,

yes that might be the reason

is the same like with the swich step

ou should correlate (and do the switch too)

on nodes with occurance 1

but since you're using Z_ rfc then it shouldn't be

a lot of work to change it

Regards,

michal

-


<a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions">XI FAQ - Frequently Asked Questions</a>

Former Member
0 Kudos

Hi All,

I have activated the correlation on <b>recv1</b> step

and the name of the corelation is <b>PRNUMBER</b> and its related to proper element in container variable through xpath....now the sencond receive (<b>recv2</b>) step is using this correlation.

however this correlation is failing. And i told in my previous messages, that all BPMs are picking the RFC call in recv2 step, which is ment for one.I visited the <b>technical workflow</b> as told by <b>Michal</b> and find that all the existing BPMs has excuted the recv2 step, and when i clicked on the container varaible of recv2, i found one correlation component , which is

<?xml version="1.0" encoding="utf-8" ?>

- <CorrelationKey Version="001">

<PRNUMBER />

</CorrelationKey>

Is it indicates error.

I dont know, if i should see the value of PRNUMBER here , which is received in 1st step. should it look like..

<?xml version="1.0" encoding="utf-8" ?>

- <CorrelationKey Version="001">

<PRNUMBER>00010000089 </PRNUMBER>

</CorrelationKey>

??

thanks for your time,

Anid

Message was edited by: Anid

Answers (0)