Arbeiten mit Zuordnungskriterien

◄ Zurück zu Sendungsdaten erfassen


Arbeitsschritte auf dieser Seite:


Ob ein bestimmtes Konfigurationsobjekt in Lobster Data Platform / Orchestration in einer bestimmten Situation anwendbar bzw. wirksam ist, hängt einerseits fast immer vom Zugriff im Anmeldekontext (Rolle, Firma/Firmenfreigaben) ab. Wie wir im vorigen Arbeitsschritt (Sendungsdaten erfassen) Andererseits müssen vielen Konfigurationsobjekten aber auch Zuordnungskriterien zugewiesen sein, die das System zur Laufzeit auswertet, um "situationsabhängig" zu unterscheiden, ob/welche Konfigurationen überhaupt als Kandidaten für einen Einsatz betrachtet werden.

Für die meisten an Zuordnungskriterien gebundenen Konfigurationsobjekte (darunter auch die Erfassungsmasken) setzt die Anwendbarkeit in einem Anmeldekontext nicht einmal einen Lesezugriff für die Konfiguration selbst voraus. Entscheidend ist nur, ob für mindestens ein zugewiesenes Zuordnungskriterium, dessen Regel im Anmeldekontext zutrifft, mindestens Lesezugriff besteht. Über eine gezielte Firmenfreigabe für Zuordnungskriterien können daher sämtliche "zuordnungspflichtigen" Konfigurationen anderen Firmen zur operativen Nutzung "bereitgestellt" bzw. als Restriktion zugeordnet werden.

Zuordnungskriterien werden dabei durch Regeln (s. Regeltypen) definiert, die im jeweiligen Datenkontext entweder als "bestanden" (Wahr/true)oder "nicht bestanden" (Falsch/false)zu werten sind. Dasselbe gilt auch für das Zuordnungskriterium als Ganzes, das ggf. als Ergebnis von logischen Verknüpfungen zwischen mehreren Regeln insgesamt "zutrifft", also als "bestanden" gilt, oder nicht.

Die Prüfung sämtlicher Zuordnungskriterien, für die in einem Anmeldekontext (mindestens) Lesezugriff besteht, vor dem Hintergrund eines konkreten Datenkontexts (v. a. Bezugsobjekt/Entitätstyp und ggf. Anmeldekontext) ergibt für das System ein logisches "Lagebild", aufgrund dessen dann z. B. entschieden werden muss, welche Erfassungsmaske erscheint oder welche Funktionen einem Menü erscheinen.

  • Wenn die Umstände eine exklusive Auswahlentscheidung erfordern (z. B. "Welche Erfassungsmaske erscheint?"), kommt das best-matching-Prinzip zum Zug, bei dem nur das zutreffende Zuordnungskriterium mit der höchsten Priorität wirkt.

  • In anderen Fällen (z. B. "Welche Menüfunktionen erscheinen?") werden nach dem all-matching-Prinzip alle Kandidaten berücksichtigt, denen mindestens ein zutreffendes Zuordnungskriterium zugewiesen ist, wobei die Priorität im Allgemeinen keine Rolle spielt.

Im letzten Abschnitt (Sendungsdaten erfassen) wurde das Zuordnungskriterium "Global" erstellt, dessen einzige Bedingung - eine Statische Regel - immer als "bestanden" (true) gilt:

images/download/attachments/62855580/image2020-12-11_13-3-28-version-1-modificationdate-1607688210613-api-v2.png

Dieses Zuordnungskriterium kann nun allen "zuordnungspflichtigen" Konfigurationsobjekten zugewiesen werden, die als Standard bzw. in einer unspezifischen Situation berücksichtigt werden sollen.

  • Im Kontext der Erfassung von Sendungsdetails greift aufgrund dieses Kriteriums, die bisher einzige konfigurierte Maske, sofern im Anmeldekontext Lesezugriff für das Zuordnungskriterium besteht. Dies gilt derzeit nur für die Firma "Smart Logistics AG", die der Besitzer des Zuordnungskriteriums "Global" ist.

Alternative Erfassungsmaske für Sendungsdetails erstellen

Das bisher eher triviale Szenario soll nun durch eine alternative Erfassungsmaske für Sendungsdetails erweitert werden, die nur in einer spezifischen Situation zum Einsatz kommt.

  • Die neue Erfassungsmaske "Externe Sendung" soll verwendet werden, wenn für die betreffende Sendung als "Versandspediteur" ein Firma ausgewählt ist, die der Gruppe "Transportunternehmer" angehört.


Erstellen Sie eine neue Erfassungsmaske für Sendungsdetails mit dem Namen "Externe Sendung" als Kopie der bestehenden und ergänzen Sie dann im Tab Panel (Registerkarten)-Element einen zusätzlichen Reiter wie unten abgebildet!


Der zusätzliche Reiter erhält die Beschriftung "Zusatzinfos".

Im Zeilenlayout des Tabs sollen wie abgebildet zwei Eingabefelder aus der Kategorie "Textattribut" per Drag & Drop hinzugefügt werden:

  • Lieferkommentar

  • EAN Nummer

images/download/attachments/62855580/image2020-12-11_13-10-18-version-1-modificationdate-1607688620053-api-v2.png

Der neuen Erfassungsmaske weisen wir über Zuweisen im Ribbon nun vorläufig das bestehende Zuordnungskriterium "Global" zu.

  • Bei der Neuanlage oder auch beim Bearbeiten einer bestehenden Sendung wird daraufhin immer die neue Erfassungsmaske ("Externe Sendung") angezeigt, was am dritten Tab-Reiter im Tab Panel (Registerkarten)-Element leicht erkennbar ist.

    images/download/attachments/62855580/image2020-12-11_13-15-20-version-1-modificationdate-1607688922827-api-v2.png

    Warum wird nicht die zuvor erstellte Maske ("Standardsendung") verwendet, der dasselbe Zuordnungskriterium ("Global") zugewiesen ist?

Da sich hier beide Erfassungsmasken über dasselbe Zuordnungskriterium als Kandidaten qualifizieren, gibt es keinen Unterschied bzgl. der Priorität, die ja im Zuordnungskriterium definiert ist. In diesem Fall greift das System schlicht zur "neuesten" Maske, da gleichrangige Kandidaten absteigend nach ihrer internen ID sortiert werden.

Anstelle dieser eher "zufälligen" Zuordnungslogik soll nun eine gezielte Fallunterscheidung abhängig vom zugeordneten "Versandspediteur" konfiguriert werden.

Selektor-Maske erstellen

Da die Auswahl des Versandspediteurs eine Weichenstellung für die Erfassungsmöglichkeiten anderer Sendungsdaten darstellen soll, soll sichergestellt sein, dass diese Entscheidung zu Beginn der Sendungserfassung getroffen wird.

Dies kann einfach erreicht werden, indem eine weitere Erfassungsmaske für Sendungsdetails erstellt wird, die ausschließlich die Auswahl des Versandspediteurs vorsieht und die vorrangig "zugeordnet" wird, solange dieser noch nicht definiert ist.

  • Die bereits erstellten Erfassungsmasken sollen alternativ - abhängig von der getroffenen Auswahl - und erst dann erscheinen, wenn die Auswahl feststeht.


Erstellen Sie eine neue (leere) Erfassungsmaske für Sendungsdetails und weisen sie ihr den Namen "Versandspediteur Selektor" zu.


Bearbeiten Sie dann das Layout wie folgt:

  • Um den Zweck der Erfassungsmaske zu verdeutlichen, wird ganz oben ein Label (mit der Beschriftung "Versandspediteur wählen:") gefolgt von einer Horizontalen Linie zur Abgrenzung eingefügt.


  • Aus der Kategorie Firmen in der Elementleiste wird ein Auswahlfeld für den Versandspediteur ins Formularlayout übernommen.


  • Für dieses Element wird der Reiter Verhalten (1) der Eigenschaftenleiste gewählt, um über das images/s/-95e2zf/9012/8yg2g7/_/images/icons/emoticons/add.svg -Symbol (2) ein Verhalten hinzuzufügen. Als Verhaltensname (3) wird "Versandspediteur gewählt" angegeben.


  • Als Auslöser (4) wird "Geändert" (mit Standard-Änderungstyp "Exklusiv durch den Benutzer") gewählt.


  • Für das Verhalten (5) wird die Verhaltensweise Statisch (mit Standardwert Wahr) ausgewählt, da die Aktionen bei wahr (6) unbedingt ausgeführt werden sollen.


images/download/attachments/62855580/image2020-12-11_13-45-37-version-1-modificationdate-1607690739243-api-v2.png


Mit dieser Konfiguration wird die Erfassungsmaske per Veröffentlichen (im Ribbon) nun gespeichert und "einsatzbereit" gemeldet. Weisen Sie außerdem das Zuordnungskriterium "Global" zu!


Wie wirkt die Konfiguration innerhalb der Erfassungsmaske zur Laufzeit?

  • Jede Änderung der Auswahl im Auswahlfeld (abweichend vom anfangs "leeren" Zustand) löst das Verhalten "Wähle Versandspediteur" aus.

  • Das Verhalten (5) führt dann die Aktion Kontext ungültig machen (6) aus:

    • Der aktuelle Kontext (eine Sendung, die neuerdings eine Auswahl für den Versandspediteur enthält) wird nicht etwa als ungültig verworfen, wie der Name der Aktion vielleicht nahelegt.

    • Die Aktion weist das System vielmehr an, das beim Öffnen der Maske erstellte "Lagebild" als ungültig zu verwerfen, sodass es die relevanten Zuordnungskriterien mit den geänderten Daten erneut auswertet.

    • Durch diese Aktion gibt der Client dem Server die Möglichkeit, auf die noch nicht gespeicherten Änderungen zu reagieren und - wie in unserem Beispiel - zu prüfen, ob anhand der Zuordnungskriterien eine andere Erfassungsmaske für die weitere Bearbeitung anwendbar ist.

Nun müssen wir also noch Zuordnungskriterien für die anderen Erfassungsmasken so einrichten, dass sie nach der Auswahl eines Versandspediteurs den Zuschlag bekommen.

Zuordnungskriterien definieren

Zuordnungskriterium für Standardsendungen

Für die Zuordnung der Erfassungsmaske "Standardsendung" muss ein neues Zuordnungskriterium angelegt werden, dessen Regel die Auswahl für den Versandspediteur einbezieht.

Dem neuen Zuordnungskriterium wird der Name "Kriterium Standardsendung" zugewiesen.

Für die Priorität wird der Standardwert (0) beibehalten.

HINWEIS◄ Da dem Zuordnungskriterium "Global" eine negative Priorität (-99999) zugeordnet wurde, ist sichergestellt, dass jedes zutreffende Kriterium mit dem Standardwert (0) das Kriterium "Global" übersteuert.

images/download/attachments/62855580/image2020-12-14_9-19-46-version-1-modificationdate-1607933987534-api-v2.png

Da das Zuordnungskriterium ausschließlich für den Geschäftsobjekttyp "Sendung" sein soll, wird per Klick auf das images/s/-95e2zf/9012/8yg2g7/_/images/icons/emoticons/add.svg -Symbol zunächst eine Regel vom Typ Typprüfung (1) hinzugefügt:

  • Innerhalb der Typprüfung muss der Typ (2) "Sendung" ausgewählt werden, damit diese Regel nur im Kontext einer Sendung "bestanden" wird.

    Einerseits optimiert die Fokussierung auf einen bestimmten Entitätstyp das Laufzeitverhalten bei der Auswertung des Zuordnungskriteriums, denn wenn der Kontext keine Sendung beinhaltet, müssen weitere UND-verknüpfte Regeln auch nicht mehr ausgewertet werden.

    Andererseits beeinflusst die Typprüfung auch die Zusammensetzung der Kontextmenüs im Regeleditor (unterhalb), die inhaltlich auf den geprüften Entitätstyp abstimmt werden.



  • Aus dem zum Hinzufügen geöffneten Kontextmenü wird nun in der Kategorie Attribute die Firmenattributregel (4) ausgewählt.

    ANMERKUNG◄ Im Bild wurde das Kontextmenü zur Demonstration erneut aufgeklappt, nachdem die Firmenattributregel bereits hinzugefügt wurde.

images/download/attachments/62855580/image2020-12-14_13-52-40-version-1-modificationdate-1607950362662-api-v2.png

Parameterierung der Firmenattributregel (4):

  • Als Firmentyp (5) wird "Versandspediteur" (SFW) ausgewählt, da die Auswahl für das Firmenattribut mit diesem Firmentyp untersucht werden soll.


  • Unter Firmen (6) können "handverlesene" Firmen ausgewählt werden, um eine Positivliste für von der Regel akzeptierte "Versandspediteure" zu definieren. Hier wählen wir exakt die Firma "Smart Logistics AG" aus.


  • Das Auswählen der Option Auch Subfirmen (7) erweitert die Positivliste (implizit) auf alle Firmen, die einer der explizit benannten Firmen (6) direkt oder indirekt untergeordnet sind, also deren gesamte "Hierarchie" in Abwärtsrichtung. Diese Option erspart es uns, die Mühe erspart sämtliche Firmen aus der Firmenstruktur der "Smart Logistics AG" ausdrücklich unter Firmen (6) zusammenzustellen. Außerdem müssen dann zukünftige Veränderungen an der Firmenstruktur der "Smart Logistics AG" nicht regelmäßig auch in der Konfiguration für unser Zuordnungskriterium nachvollzogen werden.

    ANMERKUNG◄ Links im rechten Screenshot wurde hier die Baumstruktur des konfigurierten Zuordnungskriteriums so aufgeklappt, dass die Details der Regeln innerhalb der logischen UND-Verknüpfung sichtbar sind. Der Baum visualisiert die Hierarchie der Logik, die hier noch relativ überschaubar ist. Für komplexere Logiken kann die Suchfunktion hilfreich sein. Per Klick im Baum können dann auch Elemente im grafischen Editor "sichtbar gemacht" werden, falls diese in zugeklappten Verknüpfungen zunächst versteckt sind.

images/download/attachments/62855580/image2020-12-14_17-13-29-version-1-modificationdate-1607962411555-api-v2.png

Abschließend muss das neu erstellte Zuordnungskriterium gespeichert und in der Übersicht "Sendungsdetails Masken" der Erfassungsmaske "Standardsendung" zugewiesen werden. Die bestehende Zuweisung für das Zuordnungskriterium "Global" muss dabei entfernt werden.

Zuordnungskriterium für "Externe Sendungen"

Nun soll auch für die Erfassungsmaske für Sendungsdetails von "Externen Sendungen" muss ein spezifisches Zuordnungskriterium erstellt werden.

HINWEIS◄ Dieses Zuordnungskriterium kann bequem als Kopie vom vorherigen werden, da es identisch aufgebaut ist.

Als Name wird im Reiter Zuordnungskriterium "Kriterium Externe Sendung" eingetragen.

Die Typprüfung kann unverändert beibehalten werden.

Innerhalb der Firmenattributregel muss dagegen die Einstellung für die Firmen (2) angepasst werden: Hier soll nur die Gruppe (Firma) "Transportunternehmen" ausgewählt sein.

Der Firmentyp "Versandspediteur" wird beibehalten. Auch die Option Auch Subfirmen bleibt unverändert gesetzt. Schließlich geht es hier eigentlich sogar nur um die Gruppenmitglieder, also Firmen die der Gruppe "Transportunternehmer" untergeordnet sind.

ANMERKUNG◄ Die Gruppe selbst würde von diesem Zuordnungskriterium zwar auch als "Versandspediteur" akzeptiert, sie steht in der Maske aber nicht zur Auswahl, weil im Firmenkonto der Gruppe der Firmentyp "Versandspediteur" nicht zugewiesen ist.

images/download/attachments/62855580/image2020-12-14_18-26-29-version-1-modificationdate-1607966791406-api-v2.png

Abschließend muss das neu erstellte Zuordnungskriterium gespeichert und in der Übersicht "Sendungsdetails Masken" der Erfassungsmaske "Externe Sendung" zugewiesen werden. Die bestehende Zuweisung für das Zuordnungskriterium "Global" muss dabei entfernt werden.

Konfiguration verifizieren

Nachdem nun die Zuordnungskriterien den betreffenden Erfassungsmasken zugewiesen sind, sollte das korrekte Zusammenspiel der Zuordnungskriterien mit den Masken verifiziert werden.

Standardsendung anlegen

Beim Klick auf "Neu" in der Sendungsübersicht erscheint die Selektor-Maske (mit dem Namen "Versandspediteur Selektor"), über die der "Versandspediteur" für die neue Sendung ausgewählt werden muss, bevor die eigentliche Sendungserfassung beginnt:

images/download/attachments/62855580/image2020-12-15_13-19-51-version-1-modificationdate-1608034793818-api-v2.png

  • Beim Durchblättern der Optionen im Dropdown des Auswahlfelds für den Versandspediteur kann man feststellen, dass dort alle Firmen aus der Firmenstruktur der "Smart Logistics AG" auswählbar sind, die laut ihrem Konto als Firmentyp "Versandspediteur" qualifiziert sind.

  • Dagegen bietet das Dropdown keine der Firmen an, die Mitglieder der Gruppe "Transportunternehmen" und ebenfalls als "Versandspediteure" qualifiziert sind.

Hintergrund: Das Zuordnen einer Firma als "Beteiligter" für ein Geschäftsobjekt über ein Firmenattribut ist an eine eigenständige Berechtigung gebunden, die für jeden Geschäftsobjekttyp individuell gewährt werden muss. Für diese Berechtigung muss für die Firmen der Gruppe "Transportunternehmen" wie bereits bekannt (s. Anlegen von Firmenfreigaben oder Handbuchkapitel Firmenfreigaben) eine entsprechende Firmenfreigabe erteilt werden. Innerhalb der Firmenstruktur der "Smart Logistics AG" ist die Berechtigung bereits gegeben, weil dort eine pauschale Freigabe an übergeordnete Firmen für alle Berechtigungen erteilt wurde (s. Anlegen von Firmenfreigaben).

Die im Arbeitsschritt Firmen als Gruppen eingerichtete Freigabe für den Lesezugriff auf die Firmenkonten der Gruppe "Transportunternehmer" muss also, wie nachfolgend dargestellt, um die fehlende Berechtigung ("Geschäftsobjekte/Sendungen/Als Beteiligten verwenden") erweitert werden:

images/download/attachments/62855580/image2020-12-15_15-58-18-version-1-modificationdate-1608044300669-api-v2.png

  • Die Kopfdaten dieser Firmenfreigabe bleiben unverändert.

images/download/attachments/62855580/image2020-12-15_16-3-18-version-1-modificationdate-1608044600853-api-v2.png

  • Im Reiter Berechtigungen muss de Berechtigung Als Beteiligten verwenden für das Geschäftsobjekt (hier: Sendungen) zusätzlich ausgewählt werden.

Nun dürfen sämtliche Firmen der "Smart Logistics AG" die Mitglieder der Gruppe "Transportunternehmer" als "Versandspediteur" in ihren Sendungen verwenden.

ANMERKUNG◄ Im Beispiel wird dieselbe Freigabe genutzt, um einerseits das "Lesen" (für Firmenkonten) und andererseits das "Als Beteiligten verwenden" (für Sendungen) zu gewähren. Das bewirkt, dass bei Anmeldung mit einer Firma aus der Firmenstruktur der "Smart Logistics AG" die Firmen, die als "Versandspediteur" auswählbar sind, auch in der Firmenübersicht aufgelistet werden. Allerdings würde das "Als Beteiligten verwenden" auch ohne den Lesezugriff für die betreffenden Firmenkonten funktionieren. Dann könnte nur "Smart Logistics AG" (als Besitzer) über die Firmenübersicht auf die "Transportunternehmer" zugreifen, während die untergeordneten Firmen die "Transportunternehmer" zwar als "Versandspediteur" (für Sendungen) auswählen, aber nicht in der Firmenübersicht ansehen könnten.

Zurück zum "Test":

Beim nächsten Aufruf der Erfassungsmaske für eine neuen Sendung stehen nur auch alle "Transportunternehmen" als "Versandspediteur" zur Auswahl:

images/download/attachments/62855580/image2020-12-15_16-9-34-version-1-modificationdate-1608044977143-api-v2.png

Bei Auswahl einer Firma der Gruppe "Transportunternehmen" (z. B. DPD) wird die Sendung automatisch als "Externe Sendung" interpretiert, da dann das Zuordnungskriterium "Kriterium Externe Sendung" zutrifft. Die Aktion Kontext ungültig machen bewirkt deshalb, dass die entsprechende Erfassungsmaske erscheint:

images/download/attachments/62855580/image2020-12-15_16-20-37-version-1-modificationdate-1608045639209-api-v2.png

HINWEIS◄ Dass es sich hier um die Erfassungsmaske "Externe Sendung" handelt, ist zur Laufzeit nur am Reiter "Zusatzinfos" zu erkennen. Für einen "Konfigurator", der die Layouts der beiden verfügbaren Masken kennt, ist dies ein eindeutiges Unterscheidungsmerkmal. Aus der Sicht einer Endanwenders, der eine Sendung erfassen möchte, ist nur relevant, dass er "Sendungsdetails" eingeben soll. Ob dabei unterschiedliche Masken im Spiel sind, nach welchen Kriterien diese zugeordnet werden und welche Maske aktuell angezeigt wird, muss für Endanwender nicht unbedingt transparent sein. Allerdings gibt es Funktion, mit der man zur Laufzeit die angezeigte Erfassungsmaske eindeutig identifizieren kann:


Halten Sie die Tasten Strg + Alt, während Sie an eine beliebige Stelle im Anzeigebereich der angezeigte Erfassungsmaske klicken!


Eine Meldung wie die folgende benennt die "ID" (hier: "10001") und den "Namen" (hier: "Externe Sendung") des verwendeten Templates, wie die Designs von Erfassungsmasken auch bezeichnet werden.

images/download/attachments/62855580/image2020-12-15_16-57-49-version-1-modificationdate-1608047871900-api-v2.png

images/s/-95e2zf/9012/8yg2g7/_/images/icons/emoticons/warning.svg ACHTUNG images/s/-95e2zf/9012/8yg2g7/_/images/icons/emoticons/warning.svg Diese Funktion steht jedem Anwender zur Verfügung, der eine Maske öffnen darf. Dies sollte bei der Wahl des ansonsten nur für den Konfigurator relevanten Namens für eine Erfassungsmaske berücksichtigt werden!

Fazit: Das war erst der Anfang einer langen Geschichte ...

Die in diesem Tutorial vorgestellten Einsatzbeispiele für Regeln von Zuordnungskriterien sind bewusst einfach gewählt und zeigen nur einen kleinen Ausschnitt aus dem Repertoire, dass die im Handbuch unter Regeltypen beschriebenen Regeln eröffnen. Die Möglichkeiten aus diesen "Bausteinen" komplexe logische Verknüpfungen aufzubauen sind nahezu unbegrenzt. Insofern soll dieser Abschnitt auch zu eigenständigen Experimenten ermutigen, um das gegebene Instrumentarium gegen eigene Anforderungen mit steigendem "Schwierigkeitsgrad" zu erforschen.

Generell gilt in Lobster Data Platform / Orchestration: Sobald in einem Dialog die Schaltfläche "Zuweisen" images/download/attachments/62855580/image2015-12-16_15_0_15-version-1-modificationdate-1605255799912-api-v2.png verfügbar ist, können entsprechende Zuordnungskriterien zugewiesen werden.



► Weiter mit Weiteres Beispiel für Zuordnungskriterien