Verketteter Wertauflöser
Während alle anderen Wertauflöser typischerweise durch interaktive Auswahl in einem Kontextmenü einer Wert-Konfiguration hinzugefügt werden, wird ein Verketteter Wertauflöser ausschließlich indirekt zum Bestandteil einer Konfiguration.
Ein Verketteter Wertauflöser wird automatisch erzeugt, wenn eine Wert-Konfiguration, für die bereits genau ein Wertauflöser ausgewählt ist (z. B. ein Objekt-Feld-Wertauflöser, s. Bild rechts oben), durch das Hinzufügen eines zweiten Wertauflösers zu einer Wertauflöserkette (s. rechts unten) erweitert wird. Sobald der Mauszeiger in den Bereich einer bestehenden Wert-Konfiguration bewegt wird, erscheinen am oberen und unteren Rand der bereits hinzugefügten Wertauflöser |
Ausgangssituation: Einzelner Wertauflöser
Hinzufügen eines weiteren Wertauflösers über das
|
|
Die XML-Definition für die Ausgangssituation (s. Bild rechts oben) enthält genau ein Element, nämlich den Objekt-Feld-Wertauflöser (PropertyResolver). |
<core:PropertyResolver xmlns:core="CORESYSTEM"/> |
|
Die XML-Definition für die Wertauflöserkette (s. Bild rechts unten) aus zwei Wertauflösern enthält drei Elemente, da ein automatisch erzeugter Verketteter Wertauflöser die beiden Objekt-Feld-Wertauflöser zusammenfasst. |
<core:ChainedResolver xmlns:core="CORESYSTEM"> |
►HINWEISE◄
Falls nach dem Entfernen von Wertauflösern aus einer Wertauflöserkette nur noch ein einzelner Wertauflöser vorhanden ist, wird kein Verketteter Wertauflöser mehr benötigt. Er verschwindet dann automatisch.
Ein Verketteter Wertauflöser kann nicht innerhalb einer Wertauflöserkette hinzugefügt werden, um eine Teilmenge von Wertauflösern von den übrigen abzugrenzen.
Verarbeitungslogik
Wie der Pfeil in den Screenshots andeutet, wird ein im Kontext anwendbarer Eingabewert typischerweise an die ggf. verkettete Wert-Konfiguration "von oben" übergeben.
Im Kontext einer Wertauflöserkette wird der Rückgabewert eines verarbeiteten Wertauflösers einem ggf. direkt verketteten Nachfolger als Eingabewert zur Verfügung gestellt.
Existiert kein Nachfolger, dann definiert der Rückgabewert des letzten Wertauflösers der Kette das "Endergebnis" für die gesamte Wert-Konfiguration.
Beispiel:
Eine Regel soll im Kontext eines Firmenkontos (s. Firmen) prüfen, ob die in der Firmenadresse angegebene Postleitzahl über weniger als 5 Zeichen verfügt. Im Beispiel rechts wird dazu mit der Typprüfung auf den Typ "Firmenkonto" eine Objekt-Feld-Regel UND-verknüpft. Wert-Konfiguration für die linke Seite der Objekt-Feld-Regel ist wie dargestellt als Wertauflöserkette aus drei Objekt-Feld-Wertauflösern konfiguriert:
►ANMERKUNG◄ Anstelle einer Verkettung von Objekt-Feld-Wertauflösern kann in vielen Fällen auch durch einen einzigen Objekt-Feld-Wertauflöser ersetzt werden, in dem die Feldname via Punkt (.) verkettet werden. Im Beispiel funktioniert das so:
|
|
Konkretes Beispiel:
In Anlehnung an das obige Beispiel wurden in der bestehenden Wertauflöserkette zwei Wertauflöser ergänzt:
Ergebnis: Nur die letzten zwei Wertauflöser in der Kette werden überhaupt abgearbeitet, da der statische Text an Position 4 weitere "Ermittlungen" (oberhalb) überflüssig macht. Die Variable companyAddress wird also nicht gefüllt, bis der statische Test-Textwert (8800) wieder entfernt wird. |
|