Objekt-Feld-Regel
Regeltyp - Kurzfassung
Zweck: Gilt als "bestanden", wenn der Prüfwert die durch den ausgewählten Vergleichstypen (Matcher) definierte Prüfbedingung erfüllt. Einige Vergleichstypen verwenden dabei einen Vergleichswert.
Eine Objekt-Feld-Regel vergleicht einen per Wert-Konfiguration definierten Prüfwert (im Screenshot oben links) mit einem Vergleichswert, der abhängig vom auswählbaren Vergleichstypen (Matcher) (im Screenshot unten: per Standard Ist Gleich) entweder explizit durch eine zweite Wert-Konfiguration definiert werden muss (im Screenshot oben rechts) oder durch die Vergleichstypen (Matcher)-Auswahl implizit vorgegeben ist:
Prüflogik |
Prüfwert-Typ |
Vergleichswert |
|
Ist Gleich |
Übereinstimmung mit Vergleichswert |
beliebig |
explizit → Wert-Konfiguration |
Übereinstimmung mit Listeneintrag im Vergleichswert |
beliebig |
explizit → Wert-Konfiguration |
|
Rang-Vergleich mit wählbarem |
beliebig |
explizit → Wert-Konfiguration |
|
Textvergleich ►HINWEIS◄ Die Wert-Konfiguration für den Prüfwert muss einen String -Wert liefern. Für einen Vergleichswert, der kein String ist, wird dagegen das String-Abbild herangezogen, das je Ausführungskontext spezifisch ausfallen kann. |
String |
explizit → Wert-Konfiguration |
|
String |
explizit → Wert-Konfiguration |
||
String |
explizit → Wert-Konfiguration |
||
Übereinstimmung mit einem Eintrag der Vergleichswert-Liste |
beliebig |
implizit → "Kein Wert" ($null) oder "Leere Liste" ([]) |
|
Abweichung gegenüber Original-Objekt |
Feldwert einer Entität |
implizit → korrespondierender Feldwert im Original-Objekt |
|
Sonderfall |
|||
Benutzerdefinierte Logik, die einen booleschen Wert liefert |
beliebig |
nicht vorgesehen (ggf. via Variable darstellbar) |
Der Name der Regel verweist auf eine typische Verwendungsmöglichkeit der Objekt-Feld-Regel, nämlich die Auswertung eines bestimmten Felds des gegebenen Bezugsobjekts, dessen Wert über einen Objekt-Feld-Wertauflöser "aufgelöst" wird. Aus diesem Grund wird die Wert-Konfiguration für den Prüfwert per Standard mit einem Objekt-Feld-Wertauflöser vorbelegt.
Allerdings können auch alle anderen Wertauflöser eingesetzt werden, um der durch den Vergleichstypen (Matcher) bestimmten Prüflogik Eingangsdaten als Prüfwert oder Vergleichswert zuzuführen.
Ein Zugriff auf das Bezugsobjekt im Kontext der Objekt-Feld-Regel oder eines seiner Felder ist keinesfalls Pflicht. Eine Objekt-Feld-Regel ist auch das Mittel der Wahl, um eine Variable mit einem statischen Wert (s. Statische Werte) zu vergleichen oder per Ist leer-Vergleichstyp zu untersuchen, ob sie gefüllt ist oder nicht.
Konfiguration
Das Bezugsobjekt im Kontext der Objekt-Feld-Regel steht in für Wert-Konfigurationen innerhalb der Konfiguration zur Verfügung.
Nach dem Hinzufügen einer neuen Objekt-Feld-Regel erscheint diese wie rechts abgebildet:
|
|
Sofern für den Kontext der Objekt-Feld-Regel ein Typhinweis für das Bezugsobjekt vorliegt, etwa weil innerhalb einer UND-Verknüpfung "oberhalb" eine Typprüfung vorgesehen ist, kann im Objekt-Feld-Wertauflösers (nach dem Aufklappen) sofort ein Feld ausgewählt werden. Im Beispiel rechts wird als Bezugsobjekt ein "Firmenkonto" (s. Firmen) erwartet, sodass - wie der Screenshot zeigt - das Feld "Metatyp" (metaType) gefunden wird. wenn man nach "typ" sucht. |
|
Nach der Auswahl des Felds "Metatyp" (metaType) gilt dessen Datentyp - den als Dynamische Aufzählung definierten Firmen-Metatyp - als Typhinweis für den Vergleichswert übernommen, weil der Ist Gleich-Vergleichstyp dies so vorsieht. Für den Vergleichswert liegt zwar immer noch keine Wert-Konfiguration vor, aber im Unterschied zum ersten Bild deutet das "+"-Symbol an, dass beim Aufklappen der Wert-Konfiguration ein Wertauflöser vorgeschlagen wird, mit dem ein Firmen-Metatyp als statischer Wert ausgewählt werden kann. |
|
Der Screenshot rechts zeigt den aufgrund des Prüfwert-Typs vorgeschlagenen Dynamische Aufzählung-Wertauflöser für den Typ Firmen-Metatyp, der für den eingegebene Suchtext ("a") zwei Treffer im Dropdown liefert. Der Dynamische Aufzählung-Wertauflöser lässt leider nur eine Einfachauswahl zu. Falls mit derselben Objekt-Feld-Regel unterschiedliche "Metatypen" als akzeptabel definiert werden sollen, muss der Ist Gleich-Vergleichstyp durch den In Liste-Vergleichstyp ersetzt werden. ►ANMERKUNG◄ Alternativ können man mehrere Instanzen der Objekt-Feld-Regel in einer ODER-Verknüpfung "nebeneinander stellen". |
|
Ein Wechsel des Vergleichstyps muss per Klick auf das Menüsymbol innerhalb der Sechseck-Form eingeleitet werden: |
|
Für den In Liste-Wertauflöser wird für die Vegleichswert-Konfiguration ein Erzeuge Liste-Wertauflöser vorgeschlagen, mit dem eine beliebige Anzahl von Einträgen definiert werden kann. Leider wird der Datentyp des Prüfwerts nicht als Hinweis für die Ebene der Listeneinträge gewertet, sodass hier nicht automatisch der passende Dynamische Aufzählung-Wertauflöser vorgeschlagen wird. Stattdessen muss man auf den Jede dynamische Aufzählung zurückgreifen und dort gezielt Werte für die Firmen-Metatyp-Aufzählung auswählen. ►HINWEIS◄ Wenn alle ausgewählten Aufzählungswerte aus derselben Aufzählung stammen, erscheint dieser als Typhinweis für den Rückgabewert des Erzeuge Liste-Wertauflösers (s. Screenshot rechts). |
|
Per Standard gilt der In Liste-Vergleichstyp als bestanden, wenn der Prüfwert in der als Vergleichswert bereitgestellten Liste enthalten ist. Die Liste wird also als Positivliste (Whitelist). Soll die Liste stattdessen als Negativliste (Blacklist) wirken, muss die Logik "umgekehrt" werden:
Dies ermöglicht der Menüpunkt not im Kontextmenü für die Vergleichstypen (Matcher)-Auswahl. |
Diese Objekt-Feld-Regel bestehen Firmen, deren Firmen-Metatyp nicht "Firma" (COMPANY) oder "Gruppe" (GROUP) ist. |
►HINWEIS◄ Anstatt die Logik für den Vergleichstypen (Matcher) umzukehren, hätte man dies auch für die Objekt-Feld-Regel insgesamt tun können (s. Screenshot rechts). Dies ermöglich der Ribbon Button "nicht" im Kontextmenü für die Bearbeitung der Regel, das per Klick auf das Menüsymbol links oben in der umgebenden Rechteckform geöffnet werden kann.
Der Screenshot rechts zeigt die "negierte" Objekt-Feld-Regel. Das Kennzeichen "!" erscheint als Symbol am unteren Rand der Rechteckform sowie als Präfix vor dem Text in der Titelleiste ("!Vergleichen..."). |
|
►ANMERKUNG◄ Der Screenshot rechts stellt das Erscheinungsbild der beiden Varianten für die Verneinung im Kontext einer (durch die Redundanz logisch völlig sinnlosen) ODER-Verknüpfung gegenüber.
|
|