List to List mapping Missing chile document

Hi,

A very strange result to a very basic operation.
Have a look at my list mapping

Source list

Student
—Name
—Number
+–Subject
------Name
------Teacher

Target list

StudentT
—Name
—Number
+—Subject
------Name
------Teacher

Both the documents have exactly the same structure. I am doing a one to one mapping from source to target. (field to field in parent as well as child).

In the source document, if all the students have equal number of
subjects, the target document is created without any problem.
If some students in the source documents has less subjects compared
to others, the ‘Subject’ child document is not even appearing in the
target document.

A segment level mapping at the ‘Subject’ gives the expected result.
In my real case scenario I cannot do this, because my source document
has more elements than the target document (Eg, @segment field in
IDocs).
In this case a segment level mapping will add @segment to my target
document (say Canonical) which would cause some problem in a later step
(like document to XML conversion) and result in some sort of error.

Please advice.

Thanks,
Sreehari.

Hello,

Yemi Bedu

Hi Bedu,

I am not using a loop to map from source to target.
I have tried this with a loop and getting expected results (ie Subject
document is appearing in the target document).

We are getting some unexpected results in production due to this mapping.
And I would like to know why the mapping is behaving strange with a straight mapping. It is not possible for us to go and change all the
existing flows with loops or convert them to java services.

Thanks,
Sreehari.

Hi,

Please find a sample package with the above flow.

Contents of package.zip

SamplePackage.zip : The package
Good Case.xml : Good test case
Bad Case.xml : Bad test case

Thanks in advance,
Sreehari.


package.zip (6.1 k)

Did u try segment level mapping at the level Student? or is this not at all allowed?