cancel
Showing results for 
Search instead for 
Did you mean: 

mapping question

Former Member
0 Kudos

hi,

i am doing with this weblogs /people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure

i am having mapping issue with multi detail row;

i created udf selectnodeifA, selectnodeifB

public void selectnodeifA(String[] node,String[] name,ResultList result,Container container){

//write your code here

for(int i=0; i < node.length; i++ ) {

if(name<i>.equals("A"))

result.addValue(node<i>);

}

public void selectnodeifB(String[] node,String[] name,ResultList result,Container container){

//write your code here

for(int i=0; i < node.length; i++ ) {

if(name<i>.equals("B"))

result.addValue(node<i>);

}

details --- selectnodeifA -


message1 - > info

name -


when i tested in mapping editor, one row is mapped to target MT as well, but multi row does not work as source xml.

<?xml version="1.0" encoding="UTF-8"?>

<ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">

<ns0:Message1>

<ns1:bpm_out_mt xmlns:ns1="http://sds.samsung.co.kr/test01">

<details>

<name>A</name>

<id>12131</id>

</details>

<details>

<name>A</name>

<id>31313</id>

</details>

</ns1:bpm_out_mt>

</ns0:Message1>

</ns0:Messages>

Accepted Solutions (0)

Answers (1)

Answers (1)

moorthy
Active Contributor
0 Kudos

Hi,

Did you change the context into Root level during mapping ? If not try out this.

Without user defined function , you can try . by directly mapping one to one with Context change, SplitByValue and Removecontext built-in functions

Hope this helps,

Regards,

Moorthy

Former Member
0 Kudos

Hi,

could you teach me? how do you map in using only graphical editor instead udf? with SplitByValue and Removecontext......... somthing like that.

i want target payload filtered from payload coming from source.xml so that i can send it two receiver in bpm.

source.xml

<?xml version="1.0" encoding="UTF-8"?>

<ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">

<ns0:Message1>

<ns1:bpm_out_mt xmlns:ns1="http://afes.temp.com/test01">

<details>

<name>A</name>

<id>12313</id>

</details>

<details>

<name>B</name>

<id>13131</id>

</details>

<details>

<name>A</name>

<id>55433</id>

</details>

</ns1:bpm_out_mt>

</ns0:Message1>

</ns0:Messages>

target should be as below;

<?xml version="1.0" encoding="UTF-8"?>

<ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">

<ns0:Message1>

<ns1:bpm_in01_mt xmlns:ns1="http://afes.temp.com/test01">

<info>

<name>A</name>

<id>12313</id>

</info>

<info>

<name>A</name>

<id>55433</id>

</info>

</ns1:bpm_in01_mt>

</ns0:Message1>

<ns0:Message2>

<ns1:bpm_in02_mt xmlns:ns1="http://afes.temp.com/test01">

<info>

<name>B</name>

<id>13131</id>

</info>

</ns1:bpm_in02_mt>

</ns0:Message2>

</ns0:Messages>

regards;

ogawa

Message was edited by: ogawa Dennis