cancel
Showing results for 
Search instead for 
Did you mean: 

Split mapping created no messages

Former Member
0 Kudos

Hi guys,

I am getting this error "Split mapping created no messages", this is my scenario:

My sender is a Bundle of IDOCs through HTTP and I am splitting this message to N and send it to the receiver which is a Web service. The problem is that I have to check for some information in each IDOC (record) so if that condition becomes true I will use that information (IDOC) if not I will just ignore. So this problem is being triggered when I got a bundle whit IDOCs that I should be ignored so I don't have to send any message to the receiver.

In the Integration repository test everything works OK but at runtime I am getting this error. So I would like do not have that red flag when I am not going to send the information to the receiver also because it is on EOIO so I am getting all the other messages stuck.

These are some representations of my mapping:

1 message (Source)

<COND>

<IDOC>

- <Cond>true</Cond>

- <data>ABCD</data>

</IDOC>

<IDOC>

- <Cond>false</Cond>

- <data>1234</data>

</IDOC>

<IDOC>

- <Cond>true</Cond>

- <data>XYZ</data>

</IDOC>

<COND>

2 messages (Receiver)

<Msg>

- <data>ABCD</data>

</Msg>

<Msg>

- <data>XYZ</data>

</Msg>

So I create 2 message and I ignored 1 when Cond is false, this scenario works OK but the below one no.

1 message (Source)

<COND>

<IDOC>

- <Cond>false</Cond>

- <data>ABCD</data>

</IDOC>

<IDOC>

- <Cond>false</Cond>

- <data>1234</data>

</IDOC>

<IDOC>

- <Cond>false</Cond>

- <data>XYZ</data>

</IDOC>

<COND>

0 messages (Receiver)

(Because there all the conditions were false)

I have checked some threads with this error but it seems that they are having it just when they are testing or may be I didn't understand well the solution.

Please let me know if you know the solution for this, thanks

Omar Hernandez

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Xpath condition (check my last post)

Former Member
0 Kudos

Hi Omar,

You will receive this error message when you are using Multi mapping and after the mapping process no messages gets generated.

If you can look at the nodes after you perform message mapping, its something like this...

Messages 1.....1

+Message1 1......1

++<your message root node >

You should have done maping to the <your message root node>, which was false and because of which none of the messages got executed.

and above if you check, its 1.....1

so thats the cause of this error message.

There will be a red flag in MONI but the message always passes through.

execution wise no problem

but as a PI dev we feel sick watching red flags all the time.

I can give you a work around.

Please tell me how is the target structure ( for which you did muti mapping) ?

Regards,

Venkat.

Former Member
0 Kudos

Thanks for your Reply Venkat,

Defenetly I cannot have that red flag because it is EOIO so I will have all my messages stucked.

The structure of the message is complex but it is something like this

*Messages

**Message1

***Root 0 Unbounded

****field1 1 1

****field2 1 1

****group1 1 1

*****group2 1 1

******group3 1 unbounded

*******data1 1 1

*******data2 1 1

So each 50 IDOCs that have the information that I need I will do a message and all the data of the IDOC will be inside the group3 tag.

Thanks

Former Member
0 Kudos

ok,

Repeat "***Root 0 Unbounded" one more time

and map a empty constant to it.

Do not map any sub sequent fields with constants.

So, this ways , the current Root node always appears ( even if none of the conditions are true )

so Message1 ( 1.....1) thinks that there is a root node existing ( when all the conditions becomes false)and it will not generate this error message

I found this error message 7 months back, which was fixed this way.

keep us updated when it is resolved.

All the best,

Venkat.

Former Member
0 Kudos

Hi Venkat,

I tried your suggestion and worked fine, the problem is that the Web service is a out of the box component of a product so It had a lot of issues oh gettint that empty message. Intead of that suggestion I added a XPath condition on the receiver determination and setting the multiline checkbox. So I put a double filter, and if a package arrives with any condition on true it will just not execute the mapping program and then We will not have any red flag. I still have to test the performance of this but it looks ok.

Anyway Thanks a lot for your help.

Omar Hernandez