Steuerungsattribute und Knoten

Spezifische Mechanismen für den Import können durch eine Reihe von Steuerungsattributen gesteuert werden. Diese werden innerhalb der Importstruktur als Felder der betreffenden Knoten konfiguriert.

Steuerungsattribut

Wert

Kurzbeschreibung

core:clear

true/false

entfernt alle Einträge aus einer Liste

core:delete

true/false

entfernt einzelnes Element

core:index

0,1,...

identifiziert ein Element in einer Liste anhand seiner Reihenfolgeposition (nicht für alle Listen unterstützt)

core:updateOnly

true/false

bei true wird der Listeneintrag nicht hinzugefügt, falls dieser nicht aufgelöst werden konnte

core:skipResolve

true/false

überspringt das Auflösen der Daten eines Objekts vor dem Aktualisieren - Ersetzt durch: core:mode="NO_RESOLVE"

core:mode


Gibt den Zusammenführungsmodus des Knotens an.

Der Standardwert ist INHERITED welches den Modus des übergeordneten Modus entspricht.

Daher ist der Standardmodus APPEND

INHERITED

Verwende den Modus des übergeordneten Objekts

APPEND

Gemappte Werte werden übernommen und zusammengeführt.
Nicht gemappte Werte werden beibehalten.

OVERWRITE

Gemappte Werte werden übernommen und zusammengeführt.
Nicht gemappte Werte werden verworfen.
Ausnahme bei Entitäten:
id, created, creatorId, ownerId, lastModified, lastModifierId

NO_RESOLVE

Es werden keine vorhanden Daten aufgelöst. Somit werden auch nur gemappte Daten übernommen

core:listMode


Gibt den Zusammenführungsmodus einer Liste an.

Der Standardwert ist INHERITED welches den Modus des übergeordneten Modus (core:mode) entspricht. Der Listenmodus wird nie vererbt!

Daher ist der Standardmodus APPEND

INHERITED

Verwende den Modus des übergeordneten Objekts

APPEND

Gemappte Werte werden übernommen und zusammengeführt. Nicht gemappte Werte werden beibehalten

OVERWRITE

Gemappte Werte werden übernommen und zusammengeführt. Nicht gemappte Werte werden verworfen

base:keepChildren

true/false

Gültig nur bei core:listMode="OVERWRITE" auf einem"<lineItem>" Knoten eines hierarchischen Geschäftsobjekts

Dabei werden alle nicht gemappten Kindpositionen trotzdem übernommen

base:keepTrees

Positions Prefix oder Regulärer Ausdruck

Gültig nur bei core:listMode="OVERWRITE" auf dem "<lineItems>" Knoten eines hierarchischen Geschäftsobjekts

Dabei werden alle zutreffenden nicht gemappten Positionen übernommen.

Es kann eine mit "," Separierte Liste angegeben werden. Die einzelnen Werte können ein Prefix sein, oder ein Regulärer ausdruck:

base:keepTrees="1.,2.,ORD,/^X[0-9]/"


Steuerungsknoten

Wert

Kurzbeschreibung

core:itemMatcher

Regeltypen

Das erste Objekt einer Liste, welches auf die konfigurierte Regel zutrifft, wird zur Aktualisierung verwendet

Die Verwendung wird je Attribut / Knoten anhand von Beispielen erklärt:

Gemeinsam ist in allen Fällen die folgende Checkliste für das Anlegen des Attribut-Felds in Lobster_data:

  1. Das Feld sitzt an der richtigen Position innerhalb der Importstruktur?

  2. Der Feldname verbindet den Namen des Steuerungsattributs (clear, delete, index, skipResolve) mit dem Suffix "_attr"?

  3. Der passende Wert wird diesem Attribut als Fixwert, durch Mapping oder Funktionen zugewiesen?

  4. Der Datentyp passt zum zugewiesenen Wert?

  5. Der Eintrag core wurde für die Eigenschaft "XML-Namespace" eingetragen?

Der folgende Screenshot illustriert die Punkte der Checkliste im Editor für die Zielstruktur eines Lobster_data-Profils:

images/download/attachments/78257340/image2020-8-3_10-40-15-version-1-modificationdate-1629201400015-api-v2.png

Das Beispiel zeigt einen Knoten, der das Löschen des ersten Eintrags eines plurales Textattributs innerhalb einer Adresse bewirken soll.

(1) Position

Die korrekte Position für das Feld, das das Steuerattribut core:delete definiert, ist im Bild per Selektion hervorgehoben. Im Unterschied dazu muss das Steuerattribut core:index (per Rahmen hervorgehoben) als Feld des value-Knotens definiert sein.


(2) Name

Zwischen dem eigentlichen Namen des Steuerungsattributs (delete) und dem Suffix (_attr), das das Feld als Attribut kennzeichnet, erscheint im Feldnamen eine Erweiterung (#accessCode), die erforderlich ist, um einen eindeutigen Feldnamen zu erzeugen. Diese erscheint nicht in XML-Ausgabe für die Zielstruktur.


(3) Wert

Als Wert des Steuerattributs wird hier der Fixwert true statisch zugewiesen.


(4) Datentyp

Der passende Datentyp ist in diesem Fall "Boolean".


(5) XML-Namespace

Die Zuweisung core für die Eigenschaft XML Namespace des Felds bewirkt das entsprechende Präfix in der XML-Ausgabe für die Zielstrukur.

Zur Kontrolle empfiehlt sich immer ein Blick in die erzeugte Zielstruktur (XML), in der Abweichungen vom gewünschten Zustand ggf. leichter erkennbar sind als im Profil selbst.

...
        <base:AddressText core:delete="true">
<value core:index="0" textType="ACCESS_CODE"></value>
</base:AddressText>
...