Plurale Attribute (Wertauflöser)

Wertauflöser - Kurzfassung

Zweck: Gibt im Kontext eines Bezugsobjekts (Entitätstyp muss Attributbesitzer sein), die Einzelwerte für ein bestimmtes "Mehrfachattribut" als Liste zurück.

images/download/attachments/78255872/image2021-9-21_14-25-44-version-1-modificationdate-1632227146131-api-v2.png

Der Plurale Attribute (Wertauflöser)-Wertauflöser ermöglicht den Zugriff auf ein "Mehrfachattribut" einer Entität. Er erwartet als Bezugsobjekt eine Entität, die dem Typ nach als "Attributsbesitzer" gilt (s. Attribut (Wertauflöser)) und dessen Datenmodell mindestens ein "Mehrfachattribut" vorsieht. Der Rückgabewert ist eine Liste von Einzelwerten, die auch leer sein kann. Für gezielte Schreib- und Lesezugriffe (s. "Beispiele") können die für Listen spezifischen Wertauflöser (z. B. Listenwert, Regel-Listen Resolver) und Ereignisaktionen (z. B. Für jeden Eintrag wiederholen (Schleife), Liste modifizieren) eingesetzt werden.

Der Parameter Mehrfachattribut legt den Typ des "Mehrfachattributs" fest, dessen Werte der Wertauflöser als Liste zurückgeben soll. Für jeden Einzelwert greift dabei das spezifische Datenmodell des ausgewählten Attributtyps. Eine wichtige Gemeinsamkeit ist dabei das Feld index, das einen Long-Wert für die Reihenfolgeposition des Einzelwerts innerhalb der Liste festlegt. Der Plurale Attribute (Wertauflöser)-Wertauflöser gibt die Einzelwerte immer aufsteigend nach dem Feld index sortiert zurück. Die ganzzahligen Indexwerte werden vom System automatisch (von 0 aufsteigend) zugewiesen, wenn auf die Liste z. B. über ein Formular oder den Listenwert-Wertauflöser zugegriffen wird.

HINWEIS◄ Ein Zugriff auf denselben Attributtyp über einen Attribute (Regeltypen)-Wertauflöser liefert prinzipiell dieselben Einzelwerte, sortiert diese aber nicht nach dem Feld index. Stattdessen gibt der Attribute (Regeltypen)-Wertauflöser die Einzelwerte in chronologisch aufsteigender Folge wieder, also in der Reihenfolge, in der sie der Liste hinzugefügt wurden. die chronologische Reihenfolge spiegelt sich auch im XML-Format des Bezugsobjekts.

Im Kontext der in den verschiedenen Lobster Data Platform / Orchestration-Modulen vordefinierten Entitäten sind "Mehrfachattribute" eher selten anzutreffen. Abhängig von den installierten/lizenzierten Modulen sind folgende Typen von Mehrfachattributen relevant:

Mehrfachattribut-Typ

Besitzer

Barcode-Attribut

Positionen von Geschäftstransaktionsobjekten (Allgemeines Geschäftsobjekt, Bestellungen, Sendungen)

Gefahrgut-Attribut

Produkte (z. B. innerhalb der Positionsebene von Geschäftstransaktionsobjekten)

Kommunikationsinformation

Adressen (z. B. innerhalb von Attributen von Geschäftstransaktionsobjekten aber auch für Firmen und Benutzer)

Ladehilfsmitteldefinition

Sendungen

HINWEIS◄ Von den "Mehrfachattributen" sind "typisierte plurale Attribute" zu unterscheiden, für die ein eigener Wertauflöser bereitsteht (s. Plurale Attribute und Typisierte plurale Attribute (Wertauflöser)).

Konfiguration

Der Plurale Attribute (Wertauflöser) erwartet ein Bezugsobjekt, dessen Datenmodell mindestens ein "Mehrfachattribut" enthalten kann.

Der Parameter Mehrfachattribut sieht eine statische Einfachauswahl für den Attributtyp vor, auf dessen Wertliste zugegriffen werden soll.

Solange der Kontext der Konfiguration nicht auf einen spezifischen Entitätstyp verweist, erscheinen alle Mehrfachattribut-Typen zur Auswahl, die das System unterstützt.

Das Auswahlfeld/Combobox-Element bietet eine Suchfunktion an, die die internen Klassennamen der Attribute ebenso berücksichtigt wie zugehörige Lokalisierungen aus der Sprachverwaltung.

images/download/attachments/78255872/image2021-9-23_15-0-23-version-1-modificationdate-1632402025841-api-v2.png

Bezieht sich der Kontext der Konfiguration dagegen auf einen spezifischen Entitätstyp für das Bezugsobjekt, dann erscheinen nur die Mehrfachattribut-Typen zur Auswahl, die im betreffenden Datenmodell explizit implementiert sind.

Rechts verweist eine Typprüfung (nicht im Bild) auf eine "Adresse" (s. Adressen), so dass als einzige Option der Mehrfachattribut-Typ "Kommunikationsinformation" angeboten wird.

images/download/attachments/78255872/image2021-9-23_15-12-52-version-1-modificationdate-1632402774729-api-v2.png

Wird kein Mehrfachattribut-Typ ausgewählt, dann ist der Rückgabewert des Wertauflösers immer "kein Wert" (null).

Wird ein ausgewählter Mehrfachattribut-Typ vom Typ des zur Laufzeit vorliegenden Bezugsobjekts nicht unterstützt, ist der Rückgabewert ebenfalls "kein Wert" (null).

Fall das zur Laufzeit vorliegende Bezugsobjekt den ausgewählten Mehrfachattribut-Typ unterstützt, im Bezugsobjekt aber keine betreffenden Daten enthalten sind, wird eine leere Liste zurückgegeben.

Beispiele

Beispiel für "Schreibzugriff"

Einer bestehenden "Sendung" (s. Sendungen) soll im Zuge einer Ereignisbehandlung eine neue "Ladehilfsmitteldefinition" hinzugefügt werden.

Im Kontext der gegebenen "Sendung" werden innerhalb einer Ereignisbehandlung die rechts abgebildeten Ereignisaktionen konfiguriert:

  • Die Ausführen mit-Ereignisaktion wird hier verwendet, da der neu hinzugefügten Instanz für das Mehrfachattribut "Ladehilfsmitteldefinition" in mehreren Schritten Detaildaten zugeordnet werden sollen. Zu diesem Zweck wird diese neue Instanz anstelle der ganzen Sendung vorübergehend als abweichendes Bezugsobjekt definiert:

    • Zunächst wird der Plurale Attribute (Wertauflöser) verwendet, um auf das Mehrfachattribut "Ladehilfsmitteldefinition" der Sendung zuzugreifen.

    • Der zurückgegebenen (ggf. leeren) Liste von Einzelwerten wird über den verketteten Listenwert-Wertauflöser mit dem Modus "Hinzufügen (am Ende)" eine neue Instanz angehängt. Diese neue Ladehilfsmitteldefinition gilt im Aktionsblock unterhalb als abweichendes Bezugsobjekt.

  • Noch innerhalb der Ausführen als-Ereignisaktion wird eine Serie von Setze Wert-Ereignisaktionen konfiguriert, um alle notwendigen Zuweisungen für Felder der neu angelegten Ladehilfsmitteldefinition-Instanz sicherzustellen. Im Beispiel werden Daten für die Felder type, id und barcode bereitgestellt.

    HINWEIS◄ Je Mehrfachattribut-Typ können individuelle Validierungskriterien bestehen, die beim Speichern des Bezugsobjekts geprüft und ggf. per Fehlermeldung beanstandet werden. Die Validierung kann dabei einzelne Felder oder die Eindeutigkeit von Feldwert-Kombinationen innerhalb aller Einzelwerte des Attributs betreffen.

images/download/attachments/78255872/image2021-9-23_16-38-27-version-1-modificationdate-1632407909467-api-v2.png

Beispiel für "Lesezugriff"

Ein Eigenes Aktionsevent, dem eine "Adresse" (s. Adressen) als Bezugsobjekt übergeben wird, soll eine bestimmte Nachricht per E-Mail an die erste E-Mail-Adresse versenden, die in den in der Adresse hinterlegten Kommunikationsinformationen gefunden wird.

Konfiguration:

In einer Ereignisbehandlung für das betreffende Eigene Aktionsevent wird die "Prüfende Regel" wie rechts abgebildet konfiguriert:

  • Zunächst soll eine Typprüfung sicherstellen, dass eine "Adresse" als Bezugsobjekt vorliegt. Die Typprüfung definiert auch den Kontext für die Konfiguration der nachfolgenden Regel(n), was hier den gezielten Zugriff auf den Mehrfachattribut-Typ "Kommunikationsinformation" ermöglicht.

  • Innerhalb einer Objekt-Feld-Regel soll der ausschlaggebende E-Mail-Empfänger ermittelt werden.

    • Der Wertauflöser Plurale Attribute (Wertauflöser) greift auf das Mehrfachattribut "Kommunikationsinformation" zu und liefert eine Liste aller in der Adresse enthaltenen Kommunikationsinformationen.

    • Der verkettete Regel-Listen Resolver soll aus dieser Liste den ersten Eintrag ermitteln (Option Alle Werte in Liste abgewählt), der als E-Mail-Adresse qualifiziert ist, sofern überhaupt einer existiert. Das vereinfachte Kriterium besteht hier aus einer UND-Verknüpfung von zwei Instanzen der Objekt-Feld-Regel. Die erste verlangt den Kommunikationstyp "E-Mail", die zweite prüft ob eine Zeichenfolge im "Wert"-Feld (communicationValue) vorliegt, die das Symbol "@" enthält.

    • Die in der Verkettung nachfolgenden Wertauflöser beziehen sich auf den "Treffer", der im Erfolgsfall als Rückgabewert aus dem Regel-Listen Resolver erwartet wird. Der Objekt-Feld-Wertauflöser ermittelt den "Wert" der Kommunikationsinformation (also den als relevante E-Mail-Adresse eingestuften Textwert). Dieser wird anschließend über den Wert als Variable speichern-Wertauflöser in eine Variable ( mailTo) übergeben, damit die gefundene Adresse für die E-Mail-Versand-Ereignisaktion im Aktionsteil der Ereignisbehandlung nicht erneut "aufgelöst" werden muss.

      ANMERKUNG◄ Der E-Mail-Versand findet nur statt, wenn eine E-Mail-Adresse ermittelt wurde, da die äußere Objekt-Feld-Regel prüft, ob überhaupt ein "Wert" ermittelt wurde (Nicht-Regel, Ist leer). Anstelle Prüfung auf das Symbol "@" sollte in der Praxis ggf. eine komplexere Prüflogik verwendet werden.


images/download/attachments/78255872/image2021-9-23_15-44-12-version-1-modificationdate-1632404654341-api-v2.png images/download/attachments/78255872/image2021-9-23_15-53-39-version-1-modificationdate-1632405222139-api-v2.png