Erstellen einer statischen Zielstruktur
Beim Erstellen einer Zielstruktur für ein Lobster_data-Profil kann neben den Lobster_pro Vorlagen auch eine konkret vorliegende Datenstruktur verwendet werden, um eine Zielstruktur insgesamt zu erstellen oder ihr einen Unterknoten hinzuzufügen. Analog zur Verwendung von Lobster_pro Vorlagen (Details s. dort) wird ausgehend vom Menü für eine Zielstruktur der betreffende Dialog geöffnet, indem die Funktion Vorlage laden mit der Vorlagen-Kategorie Lobster SCM ausgeführt wird.
Die Option Struktur als Unterknoten einfügen kann gesetzt und in Verbindung mit der Auswahl eines Zielknotens per Parameter api.scm.appendToNode verwendet werden, um eine bestehende Zielstruktur zu erweitern.
ACHTUNG
Ist die Option Struktur als Unterknoten einfügen nicht gesetzt, ersetzt die generierte die komplette bestehende Zielstruktur und nicht gespeicherte Einstellungen gehen unwiderruflich verloren.
Statt unter Entität eine vordefinierte Vorlage auszuwählen, kann man im Parameter Xml/Json in statische Struktur eine konkrete Datenstruktur im XML- oder JSON-Format eingeben bzw. aus der Zwischenablage einfügen.
Per Klick auf
Anwenden wird aus den eingegebenen Daten eine Zielstruktur aus Knoten und Feldern erstellt, denen automatisch der angegebene Fixwert und ein entsprechender Datentyp zugewiesen werden.
Für das oben abgebildete Beispiel ergibt sich dann folgendes Bild der generierten "statischen Zielstruktur"':
|
|
In der Praxis wird es oft sinnvoll sein, die zugewiesenen Fixwerte anschließend ganz oder teilweise zu entfernen und stattdessen durch Zuordnungen aus den Quelldaten zu ersetzen.
Beispiele
Beispiel: JSON-Struktur -Export aus einem Portal
Zur Erfassung spezifischer Angaben für einen LKW-Langstreckentransport wurde ein Portal erstellt, in dem der Typ des Fahrzeugs und einer oder mehrere Fahrer und Beifahrer ausgewählt werden sollen:
Der "Struktur-Export" der hier im Testmodus per Portal erfassten Beispieldaten liefert die folgende JSON-Struktur, aus der wie oben beschrieben eine Zielstruktur für ein Lobster_data-Profil erstellt wird:
Struktur-Export der Eingaben im JSON Format |
Daraus erstellte Zielstruktur für ein Lobster_data-Profil |
|
|
Beispiel: XML-Struktur aus dem Abfragekonfigurator in die Suche für ein Importprofil übernehmen
Wenn ein Profil für einen Import verwendet wird, um bestehende Datenobjekte in Lobster Data Platform / Orchestration zu aktualisieren, ist deren interne ID (id) in den Eingangsdaten oft nicht enthalten, weil im Quellsystem unbekannt. Dieses eindeutige Kennzeichen ist aber erforderlich, damit ein "Update" eines bestehenden Objekts per Import ausgeführt werden kann. Wenn die Eingangsdaten andere Schlüsselmerkmale verwenden, um ein Datenobjekt zu identifizieren, müssen diese im Zuge des Imports auf die betreffende interne ID von Lobster Data Platform / Orchestration "umgeschlüsselt" werden. Dies ermöglicht der search-Knoten in der Importstruktur, in dem die betreffenden Suchkriterien formuliert und per "Mapping" an Feldwerte aus den Eingangsdaten gebunden werden können.
Das Beispiel zeigt die Struktur einer Suche, die mit dem Abfragekonfigurator erstellt wurde, um Bestellungen anhand einer Zeichenfolge zu identifizieren, die in Lobster Data Platform / Orchestration in einem Referenzattribut "Beleg-Nr." (RECEIPT_NO) der jeweiligen Bestellung im Feld "Referenz" (reference) vorliegen sollte.
Diese Konjunktion wäre z. B. dann sinnvoll, wenn die extern vergebene Beleg-Nr. je Kalenderjahr zurückgesetzt und während des Jahres hochgezählt wird und Aktualisierungen für Belege aus der Vorperiode ausgeschlossen sind. Dann ergibt die Verknüpfung zwischen der "Beleg-Nr." und dem Zeitraum (aktuelles Kalenderjahr) eine eindeutige Referenz für eine zu aktualisierende Bestellung. |
|
Mit dem Abfragekonfigurator kann eine geeignete Suche nicht nur erstellt werden, um sie ggf. mit konkreten Angaben (hier: anstelle des Werts DUMMY_RECEIPT_NO) testen zu können. Die Definition der Abfrage kann auch direkt als XML-Struktur angezeigt und ggf. sogar bearbeitet werden. Diese Darstellung im Reiter "XML" eignet sich aber auch, um die XML-Struktur der Suche ganz oder teilweise in die Zwischenablage zu kopieren, um sie im Kontext eines Import-Profils innerhalb der Zielstruktur hinzuzufügen. Im Bild rechts ist der Abschnitt aus dem XML selektiert, der die oben dargestellte Bedingung definiert. Diese UND-Verknüpfung (SearchJunction) wird nun in die Zwischenablage kopiert, um sie in ein Profil zu übernehmen, dass Aktualisierungen für bestehende Bestellungen ausführen soll. |
|
Der Screenshot rechts zeigt die Zielstruktur eines Import-Profils, die zur Demonstration ausnahmsweise ausgehend von der Single-Import-Vorlage (core:Import) erstellt wurde, da diese kompakter aufgebaut ist als der ansonsten überlegene Batch-Import. Der search-Knoten aus der Vorlage ist expandiert und im Bild selektiert. Er enthält den ebenfalls selektierten Knoten ISearchRestriction, der als Platzhalter für unterschiedliche Typen von Suchbedingungen dient. An dessen Stelle soll die in der Zwischenablage gespeicherte Suchbedingung eingefügt werden. Unterhalb der Suche wurde als Knoten "Order" die Vorlage für Bestellungen (ord:Order) eingefügt. |
|
Die Selektion wird auf den Knoten ISearchRestriction reduziert, damit dieser beim Ausführen der Menü-Funktion Vorlage laden mit der Vorlagen-Kategorie Lobster SCM im folgenden bereits als api.scm.appendToNode vorbelegt erscheint:
|
|
Das Bild rechts zeigt den Inhalt des selektierten Platzhalter-Knotens ISearchRestriction nach dem Hinzufügen der statischen Struktur für die Suchbedingung als Unterknoten. Die im Bild nicht sichtbare "Beschreibung" des Platzhalters legt nahe, dass die Suchbedingung eigentlich dessen Platz einnehmen sollte: One of [core:PropertySearch, core:SearchJunction, core:SimplePropertySearch, core:SubSearch] Insofern könnte man nun noch den SearchJunction-Knoten aus dem ISearchRestriction ausschneiden, ihn oberhalb wieder einfügen und den Platzhalter löschen. Alternativ dazu kann man die Struktur aber auch wie rechts dargestellt beibehalten, wenn man den Platzhalter per Parameter XML/JSON Behandlung "Transparent" setzt:
|
►HINWEIS◄ Damit die "Suche" nach konkreten Bestellungen wirklich funktioniert muss hier der statische Textwert MAP_TO_RECEIPT_NO in dem Feld value#2_2_val (blau eingerahmt im Bild) noch durch eine Zuweisung aus einem geeigneten Feld der Quellstruktur ersetzt werden. |