cancel
Showing results for 
Search instead for 
Did you mean: 

Query related to Mapping

Former Member
0 Kudos

Hi,

I have a query related to mapping. Scenario is more like file-xi-soap.

The requirement is that there will be multiple records in the file and it has to create only one message for all the records.

Source structure:

<src_msg> 1..1

<data_records> 1..1

<row> 0...unbounded

field 1

field 2

field 3

field 4

</row>

</data_records>

</src_msg>

Target structure

<target_records> 1...1

field1

field2

field3

field4

field5

</target_records>

So for ex: the message in source file is like

200, 12, 34, 56, 78, 90, 785678

200, 12, 34, 56, 78, 90, 785679

200, 12, 34, 56, 78, 90, 785680

200, 12, 34, 56, 78, 90, 785681

200, 12, 34, 56, 78, 90, 785682

Here last field value is changing for the same 200 value which is there in the first field.

for the above mentioned multiple records in .txt file I should have one traget message containing all the records.

Can anybody suggest the possible mapping without using BPM so that it should generate only one target message for the above example.

In file content conversion of source i used the recorset per message but it was not working.

I also tried multimapping but in that case message structure was changed as message , message 1 , target_records. So I was not able to use it as requirement is to generate the following target structure:

<target_records> 1...1

field1

field2

field3

field4

field5

</target_records>

Can any body suggest good solution to my problem. Correct solution will be awarded with full points.

Thanks & Regards

Prabhat

Accepted Solutions (0)

Answers (2)

Answers (2)

former_member194786
Active Contributor
0 Kudos

Hi Prabhat,

If i understand ur point correctly, u want that if the node row occurs n times your element field5 should occur n times. This can be achieved using the node function useOneAsMany.

Lets say your element field4 is mapped to target side element field5, in this case you can use the useOneAsMany function. You map your source side field field5 and node row to the target side field field5.

This way for your target side field field5 will occur as many times as your source side node row occurs. I hope this helps.

Thanks and Regards,

Sanjeev.

Former Member
0 Kudos

hi,

any solution???

thanks & regards

prabhat

Former Member
0 Kudos

Hi,

I'd suggest designing a 1:n message mapping to achieve this (but I think you will have to deal with async intfs to do it) ... You will have to choose the suitable occurence settings for source (ie, 1) and target (1 to unbounded) and create message mapping accordingly (1:n will create additional namespaces, so you'll have to take them into account when creating it)

Hope this helps

Chris

Former Member
0 Kudos

Hi,

Former Member
0 Kudos

Hi,

Can u suggest other solution as it doesn't seem to be suitable to my problem.

Thanks & Regards

Prabhat