core:listMode="OVERWRITE"
Prev Next Action | XML | Description |
|---|
Input XML | <shp:Shipment xmlns:shp='SCM.SHIPMENT'
xmlns:core='CORESYSTEM'>
<lineItems>
<lineItem lineItemId='1' numberOfPackages='10' />
<lineItem lineItemId='1.1' numberOfPackages='11' />
<lineItem lineItemId='1.2' numberOfPackages='12' />
<lineItem lineItemId='2' numberOfPackages='20' />
<lineItem lineItemId='2.1' numberOfPackages='21' />
<lineItem lineItemId='2.2' numberOfPackages='22' />
<lineItem lineItemId='3' numberOfPackages='30' />
<lineItem lineItemId='3.1' numberOfPackages='31' />
<lineItem lineItemId='X1' numberOfPackages='91' />
<lineItem lineItemId='X2' numberOfPackages='92' />
</lineItems>
</shp:Shipment>
| A simple shipment object with line items. |
Update XML | <shp:Shipment xmlns:shp='SCM.SHIPMENT'
xmlns:core='CORESYSTEM' xmlns:base='SCM.BASE'>
<lineItems core:listMode="OVERWRITE"
base:keepTrees='X'>
<lineItem lineItemId='1' numberOfPackages='100' />
<lineItem lineItemId='1.1'
numberOfPackages='110' />
<lineItem lineItemId='2' numberOfPackages='200'
base:keepChildren='true' />
<lineItem lineItemId='2.1'
numberOfPackages='210' />
</lineItems>
</shp:Shipment>
| The attribute core:listMode="OVERWRITE" changes the list mode from "APPEND" to "OVERWRITE". Items are automatically resolved based on the "lineItemId" attribute. The attribute base:keepTrees='X' is valid only for line items. Here all line items of type "X" are kept (see above). The attribute base:keepChildren='true'is also only valid for line items. Here all subitems of lineItemId='2' are kept. |
XML result | <shp:Shipment xmlns:shp='SCM.SHIPMENT'
xmlns:core='CORESYSTEM'>
<lineItems>
<lineItem lineItemId='1' numberOfPackages='100' />
<lineItem lineItemId='1.1'
numberOfPackages='110' />
<lineItem lineItemId='2' numberOfPackages='200' />
<lineItem lineItemId='2.1'
numberOfPackages='210' />
<lineItem lineItemId='2.2' numberOfPackages='22' />
<lineItem lineItemId='X1' numberOfPackages='91' />
<lineItem lineItemId='X2' numberOfPackages='92' />
</lineItems>
</shp:Shipment>
| As can be seen, items 1.2, 3 and 3.1 have been removed as they are not included in the XML Update. The positions X1 and X2 were taken over due to the attribute base:keepTrees='X'. The position 2.2 was also kept because of the attribute base:keepChildren='true'. |
Was this article helpful?