cancel
Showing results for 
Search instead for 
Did you mean: 

File to IDOC -> <SAP:Stack>Split mapping created no messages</SAP:Stack>

0 Kudos

I am using File to IDOC scenario,

File is having one structure with 4 fields of lengths - 3,2,10,2 respectively. Each record will create one idoc in SAP R/3

File can have more than one record.

Created Sender message type as MT_PICK

Data type: DT_PICK

Structure - PICK_INFO

Fields - Field1, Field2,Field3,Field4

PI 7.1 -> ESR -> Operation mapping

declare source operation as SIIA_PICK and target operation as (WMTOCO.WMTCID03) and changed occurence value from 1 to 0 - unbounded in order to generate multiple IDOC's if file contains more than one record.

kept the file in sender FTP location, after reading that file, I checked in SXMB_MONI and found error message as

-


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

- <!-- Request Message Mapping

-->

- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">

<SAP:Category>XIServer</SAP:Category>

<SAP:Code area="MAPPING">GENERIC</SAP:Code>

<SAP:P1>Split mapping created no messages</SAP:P1>

<SAP:P2 />

<SAP:P3 />

<SAP:P4 />

<SAP:AdditionalText />

<SAP:Stack>Split mapping created no messages</SAP:Stack>

<SAP:Retry>M</SAP:Retry>

</SAP:Error>

-


Any idea's to solve this issue?

Thanks,

Krishna

Accepted Solutions (0)

Answers (4)

Answers (4)

zameerf
Contributor
0 Kudos

Hi Ramakrishna,

"Actually I changed IDOC occurances from 1 - 1 to 0 - unbounded in Message mapping and in operation mapping. By doing this, in Message mapping once it changed to 0 - unbounded, messages , messages, IDOC type created"

In this case, the occurance of the IDoc type (WMTCIDO3) node changes to 0..unbounded (Not the <IDOC> node occurance).

"The only difference in blog and mine was in blog it says export IDOC definition as XSD file and change the IDOC occurance from 1-1 to 0-unbounded and again import as External Definition. after importing the external definition again did mapping.

what is the difference in logic ?"

While in this case, the occurance of the <IDOC> node changes to 0..unbounded. which helps to create multiple IDocs

So, create the External Definition and do the mapping.

Then test the mapping program and ensure you are not getting any split mapping error.

Regards,

Zameer

former_member207622
Contributor
0 Kudos

Hi

Change the occurence of IDOC in operation mapping as well as suggested by above people .

In Interface determination check whether multiplicity is 1 or not or check whether multiplicity is disabled ideally shud be 1

Check your service pack it shud be 8 as I was unable to run it on SP 7

hope this helps

Thanks

Ninad

0 Kudos

Hi Zameer,

I exported the IDOC and added maxoccurs = 'unbounded' and able to import to PI as external definition. After that I mapped the source message and target message. I kept the txt file at destination folder. when pi exectues, it took the text file and converted to xml file and got an error message in SXMB_MONI as

-


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

- <!-- Request Message Mapping

-->

- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">

<SAP:Category>XIServer</SAP:Category>

<SAP:Code area="MAPPING">GENERIC</SAP:Code>

<SAP:P1>com/sap/xi/tf/_MM_PICK_</SAP:P1>

<SAP:P2>com.sap.aii.mappingtool.tf7.IllegalInstanceExcepti</SAP:P2>

<SAP:P3>on: Cannot create target element /WMTCID03/IDOC. V</SAP:P3>

<SAP:P4>alues missing in queue context. Target XSD requir~</SAP:P4>

<SAP:AdditionalText />

<SAP:Stack>com/sap/xi/tf/_MM_PICK_com.sap.aii.mappingtool.tf7.IllegalInstanceException: Cannot create target element /WMTCID03/IDOC. Values missing in queue context. Target XSD requir~</SAP:Stack>

<SAP:Retry>M</SAP:Retry>

</SAP:Error>

-


In orde to make sure that the generated xml file works fine, I copied the Payload xml file under Payloads tab and tested in Message mapping with that file and it worked fine. But I am not sure why the above error message is coming.

Please let me know if you have any idea.

Thanks,

Krishna

Edited by: Ramakrishna Koliparthi on Mar 31, 2010 7:54 AM

zameerf
Contributor
0 Kudos

Hi Ramakrishna,

Did you check for the cache?

If not, do a cache refresh and check once.

Also, test the same payload in Operation Mapping once.

Regards,

Zameer

Edited by: Zameer Hamza on Apr 1, 2010 8:15 AM

0 Kudos

I resolved myself. There is a problem in Operation mapping. I changed Message type but forgot to change in Service interface and Operation mapping. because of this mismatch,giving error.

Thanks,

Krishna

Edited by: Ramakrishna Koliparthi on Apr 12, 2010 7:57 AM

0 Kudos

I resolved myself. There is a problem in Operation mapping. I changed Message type but forgot to change in Service interface and Operation mapping. because of this mismatch,giving error.

Thanks,

Krishna

Edited by: Ramakrishna Koliparthi on Apr 12, 2010 7:57 AM

abhijitbolakhe
Advisor
Advisor
0 Kudos

Hi

Please check the parameters DocumentName and Document Namespace in Sender file content conversion parameters.

Pls provide correct value in content conversion.

It will work

Regards

Abhijit

Former Member
0 Kudos

Hello,

You need to export the IDoc XSD , change the occurence to 0..unbounded and import it as External Definition and use this External Definition in mapping , whereas in Operation Mapping u need to use the IDoc and not the External Definition without changing any occurence here.

Thanks & Regards,

Loveena.

justin_santhanam
Active Contributor
0 Kudos

Krishna,

Multimapping is not allowed when you are tying to post IDOC's. In other words multimapping is available only with the adapters that are in the java stack.

You need to follow the below blog to change the occurrence of IDOC to achieve the same.

/people/michal.krawczyk2/blog/2005/12/04/xi-idoc-bundling--the-trick-with-the-occurance-change

~Raj.

0 Kudos

Raj,

I checked the blog, Actually I changed IDOC occurances from 1 - 1 to 0 - unbounded in Message mapping and in operation mapping. By doing this, in Message mapping once it changed to 0 - unbounded, messages , messages, IDOC type created

All my previous mappings lost and i did once again and assigned some constant value space to Messages, messages not to give error. But still I got the same error.

<SAP:Stack>Split mapping created no messages</SAP:Stack>

The only difference in blog and mine was in blog it says export IDOC definition as XSD file and change the IDOC occurance from 1-1 to 0-unbounded and again import as External Definition. after importing the external definition again did mapping.

what is the difference in logic ?

regards,

krishna

Former Member
0 Kudos

Hi,

I hope ur using the sameIdoc in target of operation mapping with occurence of 0..1 multimapping.

Now please try to test in message mapping itself, and c if it is generating multiple Idocs in target for given records from source.

The Records should be mapped to Idoc(so that Idoc will have as many that of Records).

Let us know the result

Babu