cancel
Showing results for 
Search instead for 
Did you mean: 

PI message mapping dow not work in runtime...

Former Member
0 Kudos

Hi

I am developing a integration scenario with XI 3. The scenario uses Integration Process. The idea is to have almost an SOAP to RFC/BAPI scenario.

I have run into a problem with a multi-mapping from SOAP message to two BAPI messages.

In integration Repository, the mapping (message mapping and Interface mapping) works flawlessly. But after activating, reactivating, recreating mapping objects and even changing mapping to XSL transformation... in runtime the mapping result is different from Repository's mapping result - one part of a message is missing.

The example. In Integration repository the test result is:

<?xml version="1.0" encoding="utf-8"?>
<ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
   <ns0:Message1>
      <ns2:ZBAPI_HY_CIW_INFO xmlns:ns2="urn:sap-com:document:sap:rfc:functions">
         <I_ITKINDLUSTATU>
            <item>
               <ZKOOD>38101145231</ZKOOD>
               <ZBEGDA>2010-01-01</ZBEGDA>
               <ZENDDA>2010-06-03</ZENDDA>
            </item>
         </I_ITKINDLUSTATU>
         <I_KYSIJA>
            <ZKOOD>38101145231</ZKOOD>
            <ZTYPE>1</ZTYPE>
         </I_KYSIJA>
         <I_REQ_TYPE>4</I_REQ_TYPE>
      </ns2:ZBAPI_HY_CIW_INFO>
   </ns0:Message1>
   <ns0:Message2>
      ...

In runtime, with the same input message, the result for the first message is:

<?xml version="1.0" encoding="utf-8" ?>
<ns2:ZBAPI_HY_CIW_INFO xmlns:ns2="urn:sap-com:document:sap:rfc:functions">
	<I_ITKINDLUSTATU/>
	<I_KYSIJA>
		<ZKOOD>38101145231</ZKOOD>
		<ZTYPE>1</ZTYPE>
	</I_KYSIJA>
	<I_REQ_TYPE>4</I_REQ_TYPE>
</ns2:ZBAPI_HY_CIW_INFO>

Why the mapping does not create the I_ITKINDLUSTATU/item and its sub-elements in runtime?

Any hints appreciated!

Best wishes,

Heiko

Accepted Solutions (0)

Answers (3)

Answers (3)

0 Kudos

Heiko,

Did you ever resolve the problem. I am experiencing the same thing.

Kurt Jensen

Former Member
0 Kudos

Hi Heiko,

We usually face a lot of such issues and here are just two more things that you rather check:-

Cache notifications :- But since you say your mapping change reflected, I dont think this would be an issue.

Test in Test configuration in Integration directory :- where you give everything as you give in Runtime work bench.

One more thing which usualy may have skipped your mind :- you sure your interface determination is enhanced? because you are using a many to many solution here right. reactivate that as well to make sure thats fine.

former_member223322
Active Participant
0 Kudos

Hello,

Get the payload from SXMB_MONI and use that in the IR to test the mapping. It should give you the same result as what you are getting in the runtime.

~Vaas

Former Member
0 Kudos

Thanks for the reply.

How I tested what I have done so far:

- developed the mapping.

- generated the test instance and tested it - works!

- activated the objects and sent a test message from the SOAP client to XI

- analysed the log - not working.

- downloaded the input message from SXMB_MONI and tested with this in repository - works!

- downloaded the input message from SXMB_MONI_BPE (mapping step container, input message) - tested in the integration repository - works!

- reactivated all object. Sent a message in the runtime - not working correctly.

To see if the mapping program is being updated, I tried changing this part that works (I_KYSIJA/ZTYPE) and these changes do apply... so the mapping program is being updated.

Any other ideas?

Heiko

Former Member
0 Kudos

Hi,

There could be a problem with the XSL mapping. It may be skipping the <item> records because of some conditions specified in the XSL mapping.

If this is not the case, check your SOAP message that is generated out of the input to see if it contains the specified items before the mapping step in SXMB_MONI.

Sudheer