core:listMode OVERWRITE

Prev Next

Aktion

XML

Beschreibung

Eingabe 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>

Ein einfaches Sendungsobjekt mit Positionen

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>

Das Attribut core:listMode="OVERWRITE" ändert den Listenmodus von "APPEND" auf "OVERWRITE".

Positionen werden automatisch anhand des Attributs "lineItemId" aufgelöst.

Das Attribut base:keepTrees='X' ist nur für Positionen gültig. Hierbei werden alle Positionen vom typ "X" behalten (siehe Oben)

Das Attribut base:keepChildren='true' ist ebenfalls nur für Positionen gültig. Hierbei werden alle Subpositionen von lineItemId='2' behalten

Ergebnis XML

<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>

Wie zu sehen ist, wurden die Positionen 1.2, 3 und 3.1 entfernt, da diese nicht im Update XML enthalten sind.
Die Positionen X1 und X2 wurden aufgrund des Attributs base:keepTrees='X' übernommen.
Die Position 2.2 wurde wegen dem Attribut base:keepChildren='true' ebenfalls beibehalten.