on 2022 Oct 10 5:31 AM
I am doing parallel processing via General Splitter and I have a requirement to combine again the responses into one XML message.
I have these payloads
Payload 1
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<header>
<quoteType>YQT</quoteType>
<salesOrg>5010</salesOrg>
<distributionChannel>00</distributionChannel>
<division>00</division>
<deliveryDateHeader>2022-09-29T00:00Z</deliveryDateHeader>
<shippingCondition>01</shippingCondition>
</header>
<partner>
<partnerNumber>100193</partnerNumber>
<partnerFunction>SP</partnerFunction>
</partner>
<partner>
<partnerNumber>100193</partnerNumber>
<partnerFunction>WE</partnerFunction>
</partner>
<partner>
<partnerNumber>100193</partnerNumber>
<partnerFunction>RE</partnerFunction>
</partner>
<materialsAvailibility>
<itemNumber>110</itemNumber>
<materialNumber>188521</materialNumber>
</materialsAvailibility>
</root>
Payload 2
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<header>
<quoteType>YQT</quoteType>
<salesOrg>5010</salesOrg>
<distributionChannel>00</distributionChannel>
<division>00</division>
<deliveryDateHeader>2022-09-29T00:00Z</deliveryDateHeader>
<shippingCondition>01</shippingCondition>
</header>
<partner>
<partnerNumber>100193</partnerNumber>
<partnerFunction>SP</partnerFunction>
</partner>
<partner>
<partnerNumber>100193</partnerNumber>
<partnerFunction>WE</partnerFunction>
</partner>
<partner>
<partnerNumber>100193</partnerNumber>
<partnerFunction>RE</partnerFunction>
</partner>
<materialsAvailibility>
<itemNumber>10</itemNumber>
<materialNumber>115517</materialNumber>
</materialsAvailibility>
</root>
Expected Output
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<header>
<quoteType>YQT</quoteType>
<salesOrg>5010</salesOrg>
<distributionChannel>00</distributionChannel>
<division>00</division>
<deliveryDateHeader>2022-09-29T00:00Z</deliveryDateHeader>
<shippingCondition>01</shippingCondition>
</header>
<partner>
<partnerNumber>100193</partnerNumber>
<partnerFunction>SP</partnerFunction>
</partner>
<partner>
<partnerNumber>100193</partnerNumber>
<partnerFunction>WE</partnerFunction>
</partner>
<partner>
<partnerNumber>100193</partnerNumber>
<partnerFunction>RE</partnerFunction>
</partner>
<materialsAvailibility>
<itemNumber>110</itemNumber>
<materialNumber>188521</materialNumber>
</materialsAvailibility>
<materialsAvailibility>
<itemNumber>10</itemNumber>
<materialNumber>115517</materialNumber>
</materialsAvailibility>
</root>
The <header> and <partner> nodes are always the same and I just need to combine the collate all the <materialsAvailibility> while retaining the other nodes. I have tried using gather but I cannot seem to find a working Xpath for my requirement. Is it possible by using gather?
Request clarification before answering.
Hi Jan,
Through gather you will not able to get desired output. You have to use mapping after gather step. You can follow approach-
1. If header and Partner wil be fixed for all the message then you can gather with xpath /root/materialsAvailibility (It will bring all material records in one xml but without header and partner details) then you need to use mapping as per required output in which header and partner will be fixed for material it will be one to one mapping.
2. You need to Gather with combine algorithm , then you create with mapping in mutimapping format and convert in desired format.
Regards,
Aditya
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
71 | |
21 | |
9 | |
7 | |
6 | |
6 | |
4 | |
4 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.