cancel
Showing results for 
Search instead for 
Did you mean: 

Abap multi-mapping doesn't work

Former Member
0 Kudos

Hi,

We have a 7.1 PI system and we are trying to set up a multi-mapping. This should process one IDOC into multiple XML-files.

If we do this with a message mapping everything works fine. If we do this with an abap mapping it doesn't work. We receive the following error message:

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

- <!-- Message canceled -->

- <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">MISSING_INTERFACE</SAP:Code>

<SAP:P1>2</SAP:P1>

<SAP:P2 />

<SAP:P3 />

<SAP:P4 />

<SAP:AdditionalText />

<SAP:Stack>No interface specified for parameter 2</SAP:Stack>

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

</SAP:Error>

I can make it work by changing a value in debugging. In class CL_MERGE_SPLIT_SERVICE, method ENTER_SPLIT_SERVICE, there is a read on table split_data:

  • set interface

READ TABLE split_data

WITH KEY

param_type = c_param_type_inbound

param_numb = <payload_line>-numb

ASSIGNING

<split_line>.

Now if I change the <payload_line>-numb to 1 each time the table is read, everything works fine.

What am I doing wrong here? Or is this a bug?

Thanks,

Wim

Edited by: Wim Van Linden on May 19, 2009 12:32 PM

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

You should not put "Message1", "Message2" tags, etc.... in your XML, but only one Message1 tag and in here just put all messages after each other:

This was my erronous XML:

<?xml version="1.0" ?>

<ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">

<ns0:Message1>

<ns1:MT_VIS xmlns:ns1="http://www.securex.be/MF0100/MasterDataEmployee">

<HDR><RESERVEZONE1 /><FIRMAGROEP />...</HDR>

<PI1><RESERVEZONE1 />...</PI1>

...

</ns1:MT_VIS>

</ns0:Message1>

<ns0:Message2>

<ns1:MT_VIS xmlns:ns1="http://www.securex.be/MF0100/MasterDataEmployee">

<HDR><RESERVEZONE1 /><FIRMAGROEP />...</HDR>

<PI1><RESERVEZONE1 />...</PI1>

...

</ns1:MT_VIS>

</ns0:Message2>

...

</ns0:Messages>

And this is the correct XML:

<?xml version="1.0" ?>

<ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">

<ns0:Message1>

<ns1:MT_VIS xmlns:ns1="http://www.securex.be/MF0100/MasterDataEmployee">

<HDR><RESERVEZONE1 /><FIRMAGROEP />...</HDR>

<PI1><RESERVEZONE1 />...</PI1>

...

</ns1:MT_VIS>

<ns1:MT_VIS xmlns:ns1="http://www.securex.be/MF0100/MasterDataEmployee">

<HDR><RESERVEZONE1 /><FIRMAGROEP />...</HDR>

<PI1><RESERVEZONE1 />...</PI1>

...

</ns1:MT_VIS>

...

</ns0:Message1>

</ns0:Messages>

Kr,

Wim

Former Member
0 Kudos

Solved. There was an error in the xml...

Joseph_BERTHE
Active Contributor
0 Kudos

Hi,

What ws you mistake ? caus I have the same error, here is my XML generated :


<?xml version="1.0" encoding="UTF-8"?>
<ns0:Messages 
	xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
	<ns0:Message1>
		<SOAP:Envelope 
			xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
			<SOAP:Header>
				<OPER_REF>SAPPI</OPER_REF>
			</SOAP:Header>
			<SOAP:Body>
				<ns2:createSapProductRequest 
					xmlns:ns2="http://xxxxxx.com/PI/ZIN243/SendMaterialList">
					<country>FR</country>
					<division>1300</division>
					<productStage>
					</productStage>
					<productCode>000000000001207062</productCode>
					<typeCode>VERP</typeCode>
					<productLab>PALETTE INTERCO</productLab>
					<productHierarchy>
					</productHierarchy>
					<productCreateDt>2009-06-19</productCreateDt>
				</ns2:createSapProductRequest>
			</SOAP:Body>
		</SOAP:Envelope>
	</ns0:Message1>
	<ns0:Message2>
		<SOAP:Envelope 
			xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
			<SOAP:Header>
				<OPER_REF>SAPPI</OPER_REF>
			</SOAP:Header>
			<SOAP:Body>
				<ns2:createSapProductRequest 
					xmlns:ns2="http://xxxxxxx.com/PI/ZIN243/SendMaterialList">
					<country>FR</country>
					<division>1500</division>
					<productStage>
					</productStage>
					<productCode>000000000001207062</productCode>
					<typeCode>VERP</typeCode>
					<productLab>PALETTE INTERCO</productLab>
					<productHierarchy>
					</productHierarchy>
					<productCreateDt>2009-06-19</productCreateDt>
				</ns2:createSapProductRequest>
			</SOAP:Body>
		</SOAP:Envelope>
	</ns0:Message2>
</ns0:Messages>