cancel
Showing results for 
Search instead for 
Did you mean: 

Constant Correlation

harish_babu5
Participant
0 Kudos

Hi

I have been trying to figure out the reasons why my BPM is not working.

I am using constant as correlation in my BPM. When I configured the CC s I kept the polling interval for input files at 60 seconds and as a reult many instances were triggered. I saw that in SXMB_MONI.

Now, I changed few of my objects and triggered again. Continuosly it's going to the queues and also am unable to even see the workflow using SXMB_MONI_BPE.

I read that only one instance of the BPM should be running when we use constant as correlation. So is that the reason why my scenario is working. I have many instances triggered and so do I have to delete them all using SWWL so that it would work. Right now I dont have access to SWWL and have asked for that authorization.

Can someone provide few inputs regarding this

Regards

Harish Babu

Accepted Solutions (1)

Accepted Solutions (1)

prateek
Active Contributor
0 Kudos

Consant correlation should work for your case. The reason why it is not working is "open BPM instances". You might have some entries in queue as well. Delete these queue entries and open instances from swwl and you are done.

Logically, its not working because the message received is sent to open BPM instances and the new instance could not get appropriate message.

Regards,

Prateek

Answers (2)

Answers (2)

rodrigoalejandro_pertierr
Active Contributor
0 Kudos

hi,

see this blog

/people/samiullah.qureshi/blog/2009/01/09/correlation-without-key-field-using-constant

if you have many instance, and the receivers are serialized, dont forget to configure the tcode SXMB_INB_CONF to "with Buffering"

Thaks

Rodrigo P.

Edited by: Rodrigo Alejandro Pertierra on Jun 25, 2010 11:27 AM

Shabarish_Nair
Active Contributor
0 Kudos

explain your scenario and BPM design more so that we can help.

Also check if you are using the BPM in a correct way;

http://help.sap.com/saphelp_nw04/helpdata/EN/43/d92e428819da2ce10000000a1550b0/content.htm

harish_babu5
Participant
0 Kudos

Shabrish,

Last few days, I have been posting many questions about this interface which is very complex and in fact none in my office has got a clue on how to do it. I even thought of mailing you as one of my colleagues mailed you three days ago and got a reply. I guess it was about FCC

Well, this is my scenario

It's a file to file scenario. I need to read three input files from the source. I need to generate only one output file. The three input files are Header, Container and Container Item. I have to read two values, say A and B from Header and go to the Container file. Then I have to pick the values C and D from the Container file. These vales, C and D, should correspond to the values of A and B. A and B also appear in the Container file. Now with all these values, I have to go to the Container Item file and read the values E and F, which correspond to the previous set of already read values.

The values E and F should be sent to the target file. This is the scene !

And my design is

I use BPM to collect the three messages and using transformation merge the files. I sent the merged file to Interface mapping which takes care of the mapping logic using UDFs. Then it is send asynchronously to the receiver.

I guess the UDF is working, am not 100% sure. But BPM is not

In fact when I triggered it first, I was able to go to the BPM and in the graphical , I could see green till merge. But since my poll interval was only 60 seconds many instances were triggered and now am not even able to see the workflow items using SXMB_MONI_BPE.

Regards

Harish Babu

Shabarish_Nair
Active Contributor
0 Kudos

first question;

do you have a field or value that is common to all these files? if you have, then that is going to be the correlation which you should define in BPM

harish_babu5
Participant
0 Kudos

Hi

I dont think I have a field that repeats in all. That's why I went for constant

Harish

rodrigoalejandro_pertierr
Active Contributor
0 Kudos

hi,

as i can see you correlation is not constant.

let see. you receive three files, but is not clear to me how. ussing a FORK step o three Receiver step one after the other.

Is there any common field in the three files (not two) to relate them. if so better because if you are sure that have parallel processing the type of ccBPM must be secuential Receiver Step, not fork step. it will allow you to configure the the delivery mode to With Buffering as i sugguest previous. by this way if you pick a file that doesnt apply the correlation will be buffered until the other files comes.

please, read the blog i posted before.

i sugguest you to test your mapping ussing the data you receive from the three files to discard and error in the transformation.

also check that you define an exception brach to the transformation step and the sender step to discard a queue block by SYSFAIL.

also, check in the sxi_cache the Return Code of the activation of the ccBPM. it must be 0. if not, select the ccbpm and press the icon Activation Log (the icon is a paper) and look for entries type E

Thanks

Rodrigo P.

Edited by: Rodrigo Alejandro Pertierra on Jun 25, 2010 12:19 PM

Shabarish_Nair
Active Contributor
0 Kudos

then you have an issue.

How will the BPM then understand what are the messages to be clubbed and taken a action on.

ex. http://help.sap.com/saphelp_nw04/helpdata/EN/0e/56373f7853494fe10000000a114084/frameset.htm

Former Member
0 Kudos

Hi

Now, I changed few of my objects and triggered again. Continuosly it's going to the queues and also am unable to even see the workflow using SXMB_MONI_BPE.

This looks like isue with your CORRELATION ( Global correlation and local correlation)

This means thet the messages got lost while sending to BPM engine through PE adapter. This behaviour is expected when you have continous BPM message processing with no active receive step to receive any new messages.

Ifyou have designed your BPM with global correlation, the receive step would be active once all your BPM steps are over. Once your BPM processing is over , then only correlation is over which release your receive step.

Let's say, if you are sendinf file 1 and it takes 10 mins to complete the the processing. Then the messages received during that 10 mins have lost. You cannot see this in SMQ2, or SXMB_MONI_BPE or anywhere. These messages are categorized as Unprocessed XML messages.

In this case, you have to use progarm RSWF_XI_UNPROCESSED_MSGS to see your messages .

You can see []