cancel
Showing results for 
Search instead for 
Did you mean: 

Multiple IDOCs MM problem

Former Member
0 Kudos

HI there,

I am working on IDOC to flat file in which I am unable to make multiple rows depending on mulitple IDOCs..

I am testing this scenario in MM test tab.. If there is one IDOC then its able to create one row with out any problem.. If there are multiple IDOCs then Its throowing error

Cannot create target element /ns0:MT_nterfacename/Row[2]/Field_Code. Values missing in queue context. Target XSD requires a value for this element, but the target-field mapping does not create one. Check whether the XML instance is valid for the source XSD, and whether the target-field mapping fulfils the requirement of the target XSD

Occurance for the target field is 1..1

I mapped row to IDOC

row is 0..unbound

IDOC is 0..unbound

I placed a UDF function before target field ...if there is a value then pass value orelse pass ""

Dont know what should I change ..if 1 IDOC then fine then multiple then this the error is..any inputs?

Thanks

Rajeev

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Split by value -> changed value should help you. also check the target occurence and change it from 1 to unbounded.

Regards,

Pavan

Answers (5)

Answers (5)

Former Member
0 Kudos

Hi,

The Problem is when you have multiple Idoc , the target is not able to produce the multiple row ...

so try with the Node functions

Useoneasmany,.splitvalue and remove context ...

you can achieve it

Regards,

Jude

former_member200962
Active Contributor
0 Kudos
If there is one IDOC then its able to create one row with out any problem.. If there are multiple IDOCs then Its throowing error

The problem seems to be in the execution method.....when you are trying to receive multiple IDOCs have you made enough changes in the XSD so that the "n" occurences do not cause any problem.

Regards,

Abhishek.

Former Member
0 Kudos

I placed a UDF function before target field ...if there is a value then pass value orelse pass ""

I think if the condition is not met,the mandatory target field is not getting any value that is why you get this error.

debug the message mapping using Display Queue.(test the mesage mapping duplicating source Idoc node)

try removeContext if required

Former Member
0 Kudos

you need to check you mapping for this field and make sure that at run time if 5 rows are to be created then this field should get that many values. One for each row. Hope its clear to you.

Shweta.

Former Member
0 Kudos

HI,

You are getting this error because /ns0:MT_nterfacename/Row[2]/Field_Code field is mandatory field. But at run time it is not getting values when multiple row is created. When one one row is there then it workes fine. To test this just map it with any constant. It will work.

Shweta.