cancel
Showing results for 
Search instead for 
Did you mean: 

Inbound Idocs occurence 0..1 - Error: Split mapping created no messages

former_member182004
Contributor
0 Kudos

Hi All !

I'm facing a situation with a JDBC -> IDOC's. Depending on the data received I can create new purchases (IDOC: SALESORDER_CREATEFROMDAT2) or modify an existing one (IDOC: ORDCHG).

From the DB, PI can receive: 1 or many NEW/MODIFY purchases, so I did the trick to modify the occurence of both Idocs.

I read an approach from Raj: http://scn.sap.com/people/rajasekhar.reddy14/blog/2011/02/24/multi-mapping-without-bpm-for-idoc-scen...

But I prefered to do two independent Mesage Mappings, with their respective Operation Mappings and using them in the Interface Determination with no condition.

The problem that I'm having is that in some case I could receive 3 New Purchase and 0 modify, so I changed the occurence of the destination message to 0..1 in the MM and OM.

When using the testing tool everything works fine, but when I trigger the interface it shows a red flag in monitor (in the branch corresponding to the zero idoc) saying: "Split mapping created no messages".

Does it work to change the signature to 0..1? Is there a problem with the receiver Idoc adapter?

I'm leaving some screenshots to clarify a little bit more the problem.

Thanks in advance,

  Juan.

Accepted Solutions (1)

Accepted Solutions (1)

rajasekhar_reddy14
Active Contributor
0 Kudos

Hi Juan,

You have developed dealindifferent mappings so no need to change occurance in Operation mapping.

Change occurance of IDoc segment to 1 to unbounded and import XSD and use XSD in message mapping,it works.

The error with mapping not with IDoc adapter.

Thank you,

Raj

former_member182004
Contributor
0 Kudos

Hi Raj,

Previous to change the occurance to 0..1 in MM and OM I had the configuration as you said: only changing the XSD and importing it and I had the same error.

That's why I change the occurance.

Regards,

  Juan.

rajasekhar_reddy14
Active Contributor
0 Kudos

Hi Juan,

Write a condition in interface determination like if 0 modify means dont execute operation mapping , i think this will solve your problem.

The error coming because 0 modify,i.e mapping not generating any IDoc.

Thank you,

Raj

former_member182004
Contributor
0 Kudos

Hi Raja,

It worked fine.

I thought about using the 2 Idocs in the Interface Determination from the beginning, but I discarded the idea because the field that has the condition can come in many different positions but when I checked again I saw that there is the "multiline" option that can get rid of that limitation.

Thanks,

  Juan.

Answers (1)

Answers (1)

ambrish_mishra
Active Contributor
0 Kudos

Hi Juan,

It is not only with target IDocs but for any message that if the target message is not formed, the message fails in PI.

You may put 0...1 in multiplicity for both the messages in interface determination since either of them may not be executed and result in IDoc creation.

Hope it helps!

Ambrish