core:itemMatcher (Identifizieren eines Listeneintrags per Regel)
Drucken
Seite kopieren Als Markdown für LLMs kopieren Als Markdown anzeigen Seite als einfachen Text anzeigen
In ChatGPT öffnen ChatGPT zu dieser Seite befragen In Claude öffnen Claude zu dieser Seite befragen Prev Next Struktur
XML
Beschreibung
Eingabe XML
<?xml version="1.0" encoding="UTF-8"?>
<shp:Shipment xmlns:shp="SCM.SHIPMENT" creatorId="1" ownerId="1" lastModifierId="1">
<lineItems>
<lineItem lineItemId="1" parentLineItemId="">
<attributes>
<shp:ShipmentLineItemReference>
<value referenceType="ORDER_NUMBER" reference="4711"/>
</shp:ShipmentLineItemReference>
<shp:ShipmentLineItemText>
<value textType="COMMENT">
<textValue>TMS</textValue>
</value>
</shp:ShipmentLineItemText>
</attributes>
</lineItem>
<lineItem lineItemId="2" parentLineItemId="">
<attributes>
<shp:ShipmentLineItemReference>
<value referenceType="ORDER_NUMBER" reference="4712"/>
</shp:ShipmentLineItemReference>
<shp:ShipmentLineItemText>
<value textType="COMMENT">
<textValue>Lobster_pro</textValue>
</value>
</shp:ShipmentLineItemText>
</attributes>
</lineItem>
<lineItem lineItemId="3" parentLineItemId="">
<attributes>
<shp:ShipmentLineItemReference>
<value referenceType="ORDER_NUMBER" reference="4713"/>
</shp:ShipmentLineItemReference>
<shp:ShipmentLineItemText>
<value textType="COMMENT">
<textValue>ERP</textValue>
</value>
</shp:ShipmentLineItemText>
</attributes>
</lineItem>
</lineItems>
</shp:Shipment>Die Daten einer Sendung (s. Sendungen ) mit 3 Positionen und jeweils 2 Attributen (Referenzattribut ORDER_NUMBER und Textattribut COMMENT) soll geändert werden.
Zielsetzung:
Ein Import soll den Kommentar (COMMENT) für eine per Auftragsnummer (ORDER_NUMBER) identifizierte Position ändern.
Import XML
[...]
<shp:Shipment [...]
<lineItems>
<lineItem>
<core:itemMatcher>
<core:EntityPropertyRule>
<core:EqualsMatcher deepCompare="false">
<core:LiteralValueResolver>
<value xsi:type="xsd:string">4712</value>
</core:LiteralValueResolver>
</core:EqualsMatcher>
<core:ChainedResolver>
<core:TypedAttributeResolver typedAttribute="base:ReferenceAttribute"
type="base:ReferenceType#ORDER_NUMBER" />
<core:PropertyResolver property="reference" />
</core:ChainedResolver>
</core:EntityPropertyRule>
</core:itemMatcher>
<attributes>
<shp:ShipmentLineItemText>
<value textType="COMMENT">
<textValue>Lobster Data Platform / Orchestration</textValue>
</value>
</shp:ShipmentLineItemText>
</attributes>
</lineItem>
</lineItems>
</shp:Shipment>
[...]Einer Position, deren Referenzattribut ORDER_NUMBER als Referenz (reference) den Text “4712” enthält, soll im Textattribut COMMENT der Textwert “Lobster Data Platform / Orchestration” zugewiesen werden.
Das Beispiel links zeigt einen Ausschnitt aus der Zielstruktur für einen Import . Im abgebildeten lineItem-Knoten definiert der core:itemMatcher-Knoten, wie die zu aktualisierende Position identifiziert werden soll. Im Beispiel ist eine Objekt-Feld-Regel (EntityPropertyRule), definiert, die für das Referenzattribut ORDER_NUMBER die Übereinstimmung des Referenzwerts (refernce) mit einem statischen Text (4712) verlangt.
Der nachfolgende attributes-Knoten definiert die Daten, die einer durch diese Regel “gefundenen” Position als Update zugewiesen werden sollen.
Ausgabe XML
<?xml version="1.0" encoding="UTF-8"?>
<shp:Shipment xmlns:shp="SCM.SHIPMENT" creatorId="1" ownerId="1" lastModifierId="1">
<lineItems>
<lineItem lineItemId="1" parentLineItemId="">
<attributes>
<shp:ShipmentLineItemReference>
<value referenceType="ORDER_NUMBER" reference="4711"/>
</shp:ShipmentLineItemReference>
<shp:ShipmentLineItemText>
<value textType="COMMENT">
<textValue>TMS</textValue>
</value>
</shp:ShipmentLineItemText>
</attributes>
</lineItem>
<lineItem lineItemId="2" parentLineItemId="">
<attributes>
<shp:ShipmentLineItemReference>
<value referenceType="ORDER_NUMBER" reference="4712"/>
</shp:ShipmentLineItemReference>
<shp:ShipmentLineItemText>
<value textType="COMMENT">
<textValue>Lobster Data Platform / Orchestration</textValue>
</value>
</shp:ShipmentLineItemText>
</attributes>
</lineItem>
<lineItem lineItemId="3" parentLineItemId="">
<attributes>
<shp:ShipmentLineItemReference>
<value referenceType="ORDER_NUMBER" reference="4713"/>
</shp:ShipmentLineItemReference>
<shp:ShipmentLineItemText>
<value textType="COMMENT">
<textValue>ERP</textValue>
</value>
</shp:ShipmentLineItemText>
</attributes>
</lineItem>
</lineItems>
</shp:Shipment>Ergebnis:
Die zweite Position (mit der ORDER_NUMBER “4712”) wurde aktualisiert.
War dieser Artikel hilfreich?
Ja Nein
Verwandte Artikel
Orchestration > Orchestration-Integration > Import > Steuerungsattribute und Knoten
Orchestration > Orchestration-Integration > Import > Steuerungsattribute und Knoten
Orchestration > Regeln und Werte > Wertauflöser > Konverter (Wertauflöser)