cancel
Showing results for 
Search instead for 
Did you mean: 

Multimapping doesn't work in BPM

Former Member
0 Kudos

Hello,

I've constructed two mapping 1:1 and multimapping N:1 for two messages to transform them in two inbound IDOC . I put this process in BPM. When I test these mappings in MM and IM editors all are ok. But if i try to test the end-to-end through BPM i can get only one IDOC (mapping 1:1) with data.

The second IDOC(N:1) has empty segments only without combined data!

In BPM I use Fork to receive two messages. The Fork Step has two branches, two transformation steps(1:1 and N:1), two Send Steps(for two Idocs) accordingly. There is a correlation between two fields of two messages.

Perhaps one message leaves BPM before fullfilling N:1 mapping ? I confused.

Please help me to resolve this problem.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Igor.

Are you using any correlations?

If you are, then check if you are using the correct fields for correlation. I feel that could the problem.

Make sure you are using the correct correlation.

Correlations:

We 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.

Correlating Objects:

A correlation enables you to identify objects that belong together, for example, a quotation and the relevant sales order. This involves correlating the objects by using one or more common elements, for example, the quotation number. When you define a Workflow, you can specify the object that the Workflow must wait for, without having to enter the ID of the object.

Check this blog for further information on Correlations.

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

Regards,

Hari.

Former Member
0 Kudos

Thanks Hari!

I use a correlation. I explain now.

Two messages have the same fields. The fields have the same value.

And I put the field in the correlation.

Perhaps it is wrong???

I think if I used the wrong correlation I 'd not get inbound IDOCs at all. Didn't it?

Former Member
0 Kudos

Hi Igor.

First make sure if you have taken a field for correlation that is common in both the messages and carries the same value. What happens if the values in these fields vary is that you'll not get all the messages to be processed. Only a few of them, in your scenario, out of two, you are getting only one processed. The other one is not going out of the fork step at all.

Please check it out again and let me know.

Regards,

Hari.

Former Member
0 Kudos

And, try to give the transformation and the send steps outside your fork step.

Something like

-


Block

-


Receive1----


Fork

Trans1(N:1) Trans2(1:1) send1 send2

-


Receive2----


-


This should work.

Regards,

Hari

Former Member
0 Kudos

I've checked the correlation Hari !

Both of correlating fields have the same value. It seems to me....

In any case both of fields of source messages have the same values.

If it is true as you say then I would not see both inbound IDOCs in SXMB_MONI !

But I see both IDOCs. Frankly speaking there is one of them with data. The second IDOCs(where N:1 happens) is empty.

Ops, I've removed Transformation Steps and Send Steps out of Fork as you recommend Hari !

Now In SXMB_MONI I see CORRECT IDOCs....

What does It mean Hari??? Why does it happen? Why my fork does not work?

Where was my mistake?

I don't understand nothing....

Please answer on my questions.

I thank you and put points for you!

Fork

Former Member
0 Kudos

Hey Igor.

Good to hear that your scenario is working fine now.

It is not recommended to put the transformation and the send steps inside the fork as it sometimes hinders some of the send/transformation steps that are provided. It is always better to have all the transformation and send steps outside the fork and the block steps.

Regards,

Hari.

Answers (1)

Answers (1)

GabrielSagaya
Active Contributor
0 Kudos

please go through the blog

/people/narendra.jain/blog/2005/12/30/various-multi-mappings-and-optimizing-their-implementation-in-integration-processes-bpm-in-xi

/people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure

with regards

gabriel

Former Member
0 Kudos

Thank you. I've read these blogs but they describe 1:N multimapping.

There is some differences.

I can add the information. In SXMB_MONI_BPE I don't see the second message for N:1 multimapping.

Does it happen because the second message is used for 1:1 mapping in the first branch of Fork and cann't use in the second branch for N:1 mapping??

I feell that I must add something in my BPM. But WHAT?