cancel
Showing results for 
Search instead for 
Did you mean: 

Error in Mapping: Huge Payload

former_member203627
Participant
0 Kudos

Hi,

I have got following error in my mapping and the payload is very huge (real time data)

When I try to copy this payload to IR test space it hangs. It seems there is a data error for company code but I can't figure out which Details company code has error.

It is a night mare to look at each record, there are around 20,000 recrods in this payload.

Is there any way I can find out the errorneous record?

RuntimeException during appliction Java mapping com/sap/xi/tf/_HREmpolyeeDetails_To_HREmpolyeeDetails_MM_</Trace>

<Trace level="1" type="T">com.sap.aii.utilxi.misc.api.BaseRuntimeException: RuntimeException in Message-Mapping transformation: Cannot produce target element /ns1:HR_EmpDetails_MT/Record[1474]/Company. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd at

Regards

Hema

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi,

Kindly check the Occurrences of the nodes.

If you are still getting any Mapping error, Copy the Payload in XML Format in a Notepad File and save it as xml file from SXMB_MONI.Then Go to message mapping and In the test tab Try to Import the file ......If there are any error During runtime You can Figure out the error very easily.

Best regards,

Sainath

Former Member
0 Kudos

Hi,

it seems field Company have occurence 1-1.Go to Change mode.Use map with default function Temporary and test the mapping.Check the target and find where the Company value is not populated.

So u can easily fix the source for that.

Regards,

Prakasu

Former Member
0 Kudos

Hi Hema,

I normally open the source message in XML Spy (another XML editor might work as well) and try to find records that look different than expected (missing fields, incorrect qualifiers, ...). You can also try to created a simple xslt that extracts the company from the source XML in the same way the mapping in PI does, and run that in an external tool to find the record that's causing the problems.

Kind regards,

Koen

former_member203627
Participant
0 Kudos

Hi Koen,

I have opened the XML message in XML Spy, so you are saying I should convert the same into XSLT in XML spy and run in external tool.

Can you elaborate more on how to convert that XML to XSLT in xml spy and which external tool you are talking about to debugg the problem.

Regards

Ria

Former Member
0 Kudos

Ria,

I mean that you can create an XSLT to extract the data that you use to populate your customer field from the XML file. This can sometimes help to spot the problem.

You can also use the different views available in XML spy to just look through the source XML and see if you can find one (or more) records that look different from the rest.

Kind regards,

Koen

former_member203627
Participant
0 Kudos

Used the traditional way.....

santhosh_sontha2
Explorer
0 Kudos

Hi Ria,

There is no other way, there is some problem with the payload. Use bianry search technique i.e copy the payload into word or notepad. Take first of & test if there is no error then take another half & test it in the message mapping. In this way within 10 or 20 attempts you will come to know where exactly is the error in the payload.

Regards,

Santhosh

markangelo_dihiansan
Active Contributor
0 Kudos

Hi,

In that case, check the mapping logic for the node /ns1:HR_EmpDetails_MT/Record1474/Company, it may be getting a SUPPRESSED value that is why it is throwing an error.

Hope this helps,

Regards,

former_member203627
Participant
0 Kudos

Logic is fine as I tried for few records from payload and it seems to be fine. But some other data is not correct and I have a difficultiy in finding tht in such a huge payload.

Regards

Ria

markangelo_dihiansan
Active Contributor
0 Kudos

Hi Ria,

That would mean that some part of the same message that your mapping logic uses contained a SUPPRESSED value. I would suggest that you shorten the very large message manually using notepad just to find out from which part is the error.

Hope this helps,