Erzeuge Instanz
Wertauflöser - Kurzfassung
Zweck: Erzeugt eine neue Instanz, also ein "volatiles" Datenobjekt, für den in der Konfiguration statisch ausgewählten konkreten Typ.
Siehe auch: Erzeuge Instanz mit Werten, Instanz kopieren
Der Erzeuge Instanz-Wertauflöser erzeugt eine neue Instanz, also ein "volatiles" Datenobjekt, für den in der Konfiguration statisch ausgewählten konkreten Typ.
Der Eingabewert wird ignoriert.
Falls das Erzeugen des Datenobjekts erfolgreich ist, wird es zurückgegeben.
Schlägt das Erzeugen fehl, wird in den folgenden Fällen "kein Wert" ($null) zurückgegeben:
Es wurde kein Typ angegeben.
Der ausgewählte Typ ist nicht-konkret, z. B. die übergreifende Klasse für alle Entitäten: "Entität" (de.lobster.scm.entity.Entity).
Der ausgewählte Typ ist im Kontext der Lobster Data Platform / Orchestration-Installation nicht bekannt, weil er ein Modul betrifft, das nicht installiert ist.
Der ausgewählte Typ ist im Kontext der Lobster Data Platform / Orchestration-Installation nicht bekannt, weil anstelle einer Auswahl ein fehlerhafter Klassenname als Freitext eingegeben wurde (z. B. cutsom.myTypo anstelle von custom.myType).
ACHTUNG
Falls eine Klasse für statische oder Dynamische Aufzählungswerte (z. B. Anrede/de.lobster.scm.base.address.Salutation) als Typ ausgewählt wird, tritt zur Laufzeit ein Fehler (Failed to create Instance) auf.
►HINWEISE◄
Wird ein eigenständiger Entitätstyp als Typ ausgewählt, dann entspricht das Erzeugen der Instanz für eine neue Entität dem Klick auf "Neu" in einem interaktiven Kontext (s. Erfassungsmasken bzw. Eigene Übersichten) und nicht etwa dem Erstellen beim Klick auf "Speichern". Das Ereignis "Neu" (s. Allgemein (Ereignisse)) wird allerdings nicht ausgelöst.
In Ereignisbehandlungen kann eine volatile Entität mit Hilfe der Ereignisaktionen Ausführen mit und Änderungen später speichern zum Speichern beim Abschluss der Transaktion vorgemerkt werden. Bei Bedarf kann vorab auch die Ereignisaktion Primärschlüssel füllen ausgeführt werden, um eine ID für die Entität vom Server zu beziehen.
Ein Client Workflow kann eine volatile Entität zu erzeugen, z. B. um deren Daten per Elementdaten setzen einem Formularelement oder eingebetteten Formular zuzuweisen. Auch dann wird die volatile Entität nur persistiert, wenn sie anschließend explizit gespeichert wird.
Konfiguration
Für den einzigen Parameter Typ ermöglicht ein Auswahlfeld eine statische Einfachauswahl für die zu instanziierende Klasse.
Wie im Screenshot zu sehen, berücksichtigt die Suchfunktion neben der ggf. anwendbaren Lokalisierung für die Sprache der Sitzung auch den internen Namen. Die Groß- und Kleinschreibung wird dabei ignoriert.
Das [+]-Symbol signalisiert, dass auch nicht im Dropdown auswählbare Klassennamen als Freitext eingegeben werden können.
Beispiele
Ein Datenobjekt des Typs "Datumsbereich mit Zeit" erzeugen und initialisieren
Innerhalb einer Ereignisbehandlung soll eine Variable (enroute) die voraussichtliche Transportzeit einer Sendung als "Datumsbereich mit Zeit" in der Zeitzone angeben, die im Firmenkonto des Auftraggebers als "Default Zeitzone" (defaultTimeZone) ausgewählt ist.
Die voraussichtliche Transportzeit wird dabei durch zwei Variablen vorgegeben, die den voraussichtlichen Startzeitpunkt (ETD) und die voraussichtliche Ankunft (ETA) des Transports jeweils als "Datum mit Uhrzeit" (mit beliebiger Zeitzone) definieren.
Da es sich bei einem "Datumsbereich mit Zeit" nicht um einen simplen Wert handelt, sondern um ein "komplexes" Datenobjekt mit mehreren Feldern ("Zeitzone"/timeZone, "Von"/start und "Bis"/end) muss eine Instanz als Ziel für die notwendigen Wertzuweisungen erzeugt werden.
Die Variable enroute soll hier vor allem weitere Berechnungen innerhalb der Transaktion ermöglichen. Ihr Wert könnte aber ggf. auch einem Datumsattribut der Sendung (z. B. "Voraussichtliche Transportzeit"/ENROUTE_ESTIMATE) als Wert zugewiesen werden.
Konfiguration:
►HINWEIS◄ Zum "Initialisieren" einer erzeugten Instanz mit Werten kann auch der Erzeuge Instanz mit Werten-Wertauflöser eingesetzt werden, der das Erzeugen und Initialisieren einer Instanz in eine einzige Konfiguration verdichtet.
Der Erzeuge Instanz mit Werten-Wertauflöser kann die initialisierte Instanz auch in Kontexten als Rückgabewert bereitstellen, in denen keine Ereignisaktionen sondern nur Wertauflöser verüfgbar sind (z. B. Zuordnungskriterien, Einschränkungen).
Da alle drei Felder des "Datumsbereichs mit Zeit" Zuweisungen erhalten sollen, wird wie rechts gezeigt eine Setze Werte-Ereignisaktion verwendet, um die erzeugte Instanz als Zielobjekt für alle Zuweisungen zu verwenden.
|
|
Eine "Eindeutige Liste" erzeugen und mit Werten füllen
Ein Administrator soll für Benutzer-Konten in seiner Zuständigkeit einen automatisierten "Health-Check" ausführen können, der einen Katalog von Kriterien für diese Benutzer überprüft und ggf. auf qualitative "Handlungsbedarfe" bei der Verwaltung der Konten hinweist.
Jeder "Handlungsbedarf" wird dabei durch einen Schlüsseltext gekennzeichnet. Jeder Schlüsseltext soll in der Meldung nur max. einmal aufgeführt werden. Hinweise auf die betroffenen Konten sind nicht Bestandteil der Anforderung.
Laufzeitbeispiel:
Konfiguration:
Eine Ereignisbehandlung, die über ein eigens eingerichtetes Eigenes Aktionsevent (HEALTH_CHECK) ausgehend vom Ribbon in der Übersicht für Benutzer ausgelöst werden kann, wird wie rechts dargestellt konfiguriert:
|
|
|
Eine Entität erzeugen, initialisieren und erstellen
Innerhalb der Firmenhierarchie sollen Firmen, die sich auf einen bestimmten Firmentyp (z. B. "Logistikzentrum") beziehen, abhängig von der Auswahl für das Adressfeld "Land" (address.countryCode) einer bestimmten "Gruppe" (s. Firmen als Gruppen) zugeordnet werden.
Für jedes Land, das erstmals in der Adresse einer relevanten Firma erscheint, soll automatisch eine neue "Gruppe" - also ein Firmenkonto mit dem Firmen-Metatyp "Gruppe" (GROUP) - eröffnet werden.
Jede Firma soll per Zuordnung im Feld "Übergeordnete Firmen" (parentCompanies) mit der "Gruppe" verknüpft werden, die für das in der Adresse angegebene Land eingerichtet wurde.
Konfiguration:
Der Screenshot rechts zeigt die Konfiguration für eine Ereignisbehandlung, die auf die Auslösenden Ereignisse "Ändern" und "Erstellen" (s. Allgemein (Ereignisse)) reagiert. Als Prüfende Regel dient eine UND-Verknüpfung einer Reihe von Regeln (u. a. Typprüfung, Firmentyp-Regel, Rollenregel), auf die hier nicht im Detail eingegangen werden soll. Diese Regeln sollen insgesamt scherstellen, dass die unterhalb definierten Aktionen nur ausgeführt werden, wenn es bezüglich der Gruppenzuordnung für die geänderte oder erstellte Firma "etwas zu tun" gibt. Auch die Aktionen bei bestandener Regel sollen hier ebenfalls nur im großräumigen Überblick vorgestellt werden, da die Erzeuge Instanz-Ereignisaktion nur einen optionalen Prozessschritt betrifft:
|
|
Für den Kontext der rechts abgebildeten Ausführen mit wird das äußere Bezugsobjekt (das Firmenkonto für das "Logistikzentrum") in die Variable newCompany geschrieben. Im Objekt-Wertauflöser kommt der Erzeuge Instanz-Wertauflöser mit dem Typ "Firmenkonto" (CompanyAccount)zum Einsatz, der die neue "Gruppe" als temporäres Bezugsobjekt für den folgenden Aktionsblock festlegt:
|
|
Laufzeitbeispiel: Falls erstmalig ein Firmenkonto für ein "Logistikzentrum" mit Bezug zum Land "Italien" (IT) angelegt wird, erstellt die Ereignisbehandlung eine "Gruppe", also ein Firmenkonto mit dem Firmen-Metatyp "Gruppe" (GROUP), dem Text "GROUP_IT" als Matchcode und dem (ggf. vorläufigen) Namen "NEW COUNTRY GROUP: IT". Das Konto wird dem "Logistikzentrum" automatisch als "Übergeordnete Firma" zugeordnet. Der Matchcode soll hier per Konvention das Wiederkennen der für ein Land angelegten Gruppe ermöglichen, sodass die automatisch erstellte "Gruppe" beliebig umbenannt werden kann. |