Mustache template and iterating over an array of objects

Is this the final format?

<DATA>
    <CONSIGNEE>123</CONSIGNEE>
    <ORDERID>PO20000005</ORDERID>
    <ORDERTYPE>PO</ORDERTYPE>
    <REFERENCEORD>123</REFERENCEORD>
    <SOURCECOMPANY>100</SOURCECOMPANY>
    <COMPANYTYPE>123</COMPANYTYPE>
    <NOTES/>
    <CREATEDATE>2020-04-21T00:00:00+03:00</CREATEDATE>
    <LINES>
        <LINE>
            <ORDERLINE>66</ORDERLINE>
            <REFERENCEORDLINE>2</REFERENCEORDLINE>
            <EXPECTEDDATE/>
            <SKU>abc</SKU>
            <INVENTORYSTATUS>HOLD-IQC</INVENTORYSTATUS>
            <QTYORDERED>10</QTYORDERED>
            <MNFVALID/>
            <MNFPARTNO/>
            <HZRD/>
        </LINE>
        <LINE>
            <ORDERLINE>67</ORDERLINE>
            <REFERENCEORDLINE>2</REFERENCEORDLINE>
            <EXPECTEDDATE/>
            <SKU>def</SKU>
            <INVENTORYSTATUS>HOLD-IQC</INVENTORYSTATUS>
            <QTYORDERED>11</QTYORDERED>
            <MNFVALID/>
            <MNFPARTNO/>
            <HZRD/>
        </LINE>
    </LINES>
</DATA>

If so, then this will do it (no template though)...

If not - then it might get you closer to a solution.

Import this flow if its of any use to you...

[{"id":"cec9c0ce.0ed32","type":"inject","z":"5a83b5d5.d4161c","name":"","topic":"","payload":"{\"ORDERID\":\"PO20000005\",\"NOTES\":null,\"CREATEDATE\":\"2020-04-21T00:00:00+03:00\",\"PORDERITEMS\":[{\"ORDERLINE\":66,\"EXPECTEDDATE\":null,\"SKU\":\"abc\",\"QTYORDERED\":10,\"MNFPARTNO\":null},{\"ORDERLINE\":67,\"EXPECTEDDATE\":null,\"SKU\":\"def\",\"QTYORDERED\":11,\"MNFPARTNO\":null}]}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":270,"y":260,"wires":[["f60807d9.8986a8"]]},{"id":"a7b693e5.16c93","type":"debug","z":"5a83b5d5.d4161c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":780,"y":260,"wires":[]},{"id":"a861792a.4703e8","type":"xml","z":"5a83b5d5.d4161c","name":"","property":"payload","attr":"","chr":"","x":610,"y":260,"wires":[["a7b693e5.16c93"]]},{"id":"f60807d9.8986a8","type":"function","z":"5a83b5d5.d4161c","name":"prepare for XML","func":"\nvar result = {\n    \"DATA\": {\n        \"CONSIGNEE\": [\n            \"123\"\n        ],\n        \"ORDERID\": [msg.payload.ORDERID],\n        \"ORDERTYPE\": [\n            \"PO\"\n        ],\n        \"REFERENCEORD\": [\n            \"123\"\n        ],\n        \"SOURCECOMPANY\": [\n            \"100\"\n        ],\n        \"COMPANYTYPE\": [\n            \"123\"\n        ],\n        \"NOTES\": [ msg.payload.NOTES ],\n        \"CREATEDATE\": [ msg.payload.CREATEDATE ],\n        \"LINES\": []\n    }\n}\n\nvar lines =  msg.payload.PORDERITEMS.map(e => {\n    return {\n        LINE :\n        {  \n            ORDERLINE :  [ e.ORDERLINE],\n            REFERENCEORDLINE: [\"2\"],\n            EXPECTEDDATE: [ e.EXPECTEDDATE],\n            SKU: [ e.SKU] ,\n            INVENTORYSTATUS: [\"HOLD-IQC\"],\n            QTYORDERED: [ e.QTYORDERED ],\n            MNFVALID: [\"\"],\n            MNFPARTNO: [ e.MNFPARTNO ],\n            HZRD: [\"\"]\n        }\n    }\n});\nresult.DATA.LINES.push(lines);\nmsg.payloadJS = result;\nmsg.payload = result;\nreturn msg;","outputs":1,"noerr":0,"x":440,"y":260,"wires":[["a861792a.4703e8"]]}]
1 Like