cancel
Showing results for 
Search instead for 
Did you mean: 

Message Mapping on the Target side

Former Member
0 Kudos

Hi

I am working on Proxy to SOAP in PI 7.1, and have node which is defined on the target side as Unbounded (table)

Here is the structure of the table that has been defined on the target side,

CodeList - 0- Unbounded (Table)

Id XSD Id

CodeList Name String

CodeList Version String

CodeListOwnerCd String

Source System(ECC) is not sending any values and the values which needs to be assigned to the above structure are fixed on the target side,

how can I assign multiple values to the Code List table

Ex CodelistName Should contain ClaimsPartyRoleCdList, PolicyTypeCdLis , PaymentTypeCdList

Please let me know how can I assign Multiple values to the target side table

Thanks

PR

Accepted Solutions (1)

Accepted Solutions (1)

former_member200962
Active Contributor
0 Kudos
CodeList - 0- Unbounded (Table) 
Id XSD Id 
CodeList Name String 
CodeList Version String
CodeListOwnerCd String 

Source System(ECC) is not sending any values and the values which needs to be assigned to the above 
structure are fixed on the target side, 

how can I assign multiple values to the Code List table 

Ex CodelistName Should contain ClaimsPartyRoleCdList, PolicyTypeCdLis , PaymentTypeCdList

If you know for how many times the CodeList should repeat then in MM ---> right-click on the CodeList node --->Choose Duplicate Subtree ---> then map each of the CodeListName node with the value that you want....In the above example that you have given you need to duplicate the subtree twice (in all you will then have three CodeList nodes).....

You can map the CodeList node to a blank constant....check if this solves your problem....

Regards,

Abhishek.

Answers (1)

Answers (1)

Former Member
0 Kudos

Hey

You can easily do this via advanced UDF.

Map the root node to the below UDF.Make sure that you have set the Cache as Queue for this.There will be no input values to this UDF

//write your code here
result.addValue(" ");
result.addValue(" ");

Map the underlying Nodes to the below UDF.Make sure that you have set the Cache as Context for this.There will be no input values to this UDF

//write your code here
 result.addValue("3");
result.addContextChange();
result.addValue("4");
result.addContextChange();

I was able to acheieve the below XML by using the above two

<?xml version="1.0" encoding="UTF-8"?>
<ns0:MI_Multiple xmlns:ns0="http://fxp.com">
   <Record>
      <First>3</First>
      <Second>3</Second>
   </Record>
   <Record>
      <First>4</First>
      <Second>4</Second>
   </Record>
</ns0:MI_Multiple>

Hope this works for you.

Thanks

Aamir