Gefüllt mit
Das Verhalten Gefüllt mit prüft, ob das auszuwertende Element einen Wert zurückgibt, der exakt einem der im Parameter Inhalt angegebenen Textwerte entspricht.
Wird nach den unten ausgeführten Regeln eine Übereinstimmung festgestellt, werden die Aktionen bei "wahr" ausgeführt.
Wenn das auszuwertende Element als "nicht gefüllt" gilt oder keine Übereinstimmung zum Inhalt liefert, werden die Aktionen bei "falsch" ausgeführt.
►HINWEIS◄ Falls das auszuwertende Element ungeeignet ist, um überhaupt einen Wert für einen String-Vergleich zu liefern (etwa ein Element Container), werden keine Aktionen ausgeführt, weil ein Fehler auftritt, der nur per In die Konsole loggen bemerkbar wäre.
Was ist das auszuwertende Element?
Ist kein Element verknüpft, gilt das ausführende Element als auszuwertendes Element.
Ist ein Element verknüpft, gilt das verknüpfte Element als auszuwertendes Element.
Um im Parameter Inhalt mehrere Textwerte als akzeptable Alternativen aufzulisten, sind diese mit dem #-Zeichen ("Raute") zu verketten.
Prüfregeln für die Übereinstimmung von Textwerten:
Zeichenfolgen müssen inklusive Groß-/Kleinschreibung komplett übereinstimmen.
Da das #-Zeichen als Trennzeichen für die Verkettung von Vergleichswerten gilt, eignen sich Zeichenfolgen mit diesem Zeichen nicht als Vergleichswert im Inhalt.
Da der Parameter Inhalt keine Eingaben mit bestimmten Steuerzeichen (z. B Zeilenumbruch) unterstützt, können entsprechende Vergleichswerte nicht definiert werden.
Die Zeichenfolge aus dem Parameter Inhalt wird für die Prüfung beidseitig getrimmt. Für eine Prüfung auf ein einzelnes Leerzeichen eignet sich daher nur die Zeichenfolge "# #".
Auf den Zustand 'leer' kann nicht direkt geprüft werden (auch nicht mit Inhalt "##"), da ein auszuwertendes Element, dessen Wert als leere Zeichenfolge gewertet wird, als "nicht gefüllt" gilt, so dass die Aktionen bei "falsch" greifen.
Behandlung von auszuwertenden Elementen, die eigentlich keinen Textwert enthalten:
Eine Checkbox, die "gesetzt" ist, gilt als gefüllt mit dem Textwert "true" (in Kleinbuchstaben). Allerdings prüft die Verhaltensweise Gefüllt für eine Checkbox diesen Zustand gleichwertig.
Für numerische Vergleiche werden die Textwerte im Parameter Inhalt einzeln in Zahlenwerte umgewandelt. Dabei darf nur der Punkt als Dezimaltrenner verwendet werden. Exponentialschreibweise ist zulässig.
Beispiele: Die Verhaltensweise Gefüllt mit mit dem Inhalt "1.2345#1.2345e3" akzeptiert die Zahlenwerte 1,2345 und 1234,5.
Für Elemente, die sich auf Dynamische Aufzählungen beziehen, sind in der Regel die internen Namen der Aufzählungswerte relevant für den Vergleich mit dem Inhalt (s. a. Beispiel unten).
►HINWEIS◄ Ausnahme hierbei sind Einheiten (Währung, Längeneinheit, Volumeneinheit, usw.), für die anstelle des internen Namens der interne Alias verglichen wird.Auswahlelemente, die wie z. B. eine Firmenauswahl auf Entitäten verweisen, liefern als Vergleichswert die interne ID (id) der ausgewählten Entität. An solche ID-Werte Bedingungen zu knüpfen ist allerdings wenig empfehlenswert, z. B. weil sich diese zwischen einem Test- und einem Live-System unterscheiden können, da die Vergleichswerte im Parameter Inhalt durch den Meta Exchange nicht automatisch angepasst werden.
Als Datenkontext für die Aktionen steht immer der ggf. komplexe Dateninhalt des auszuwertenden Elements zur Verfügung, so dass etwa innerhalb einer Hinweis anzeigen Aktion auf Detaildaten zugegriffen werden kann.
Beispiele
Prüfung eines Textfelds
In einem Textfeld "Lagerort" soll wahlweise Freitext eingegeben oder eine spezifische Nachschlagefunktion (z. B. eine Datenbank-Suche) beansprucht werden können.
Der Anwender soll die Nachschlagefunktion durch Eingabe eines ?-Symbols als einziges Zeichen auslösen können.
Das Verhalten mit dem Namen "initLookUp" reagiert auf den Auslöser Geändert mit dem Änderungstyp Exklusiv durch Benutzer, da der Nachschlagemodus nur durch interaktiv ausgelöst werden soll und nicht etwa durch eine Vorbelegung des Felds oder durch einen von der Nachschlagefunktion eingetragenen Rückgabewert.
Gefüllt mit prüft hier auf den Inhalt ? als Auslöser für die Aktionen bei "wahr".
Eine Verhalten ausführen-Aktion startet die Nachschlagefunktion (im Verhalten "lookUp", Details hier nicht relevant) unterhalb sobald ein Fragezeichen im Textfeld eingegeben wird.
Prüfung von Werten aus Dynamischen Aufzählungen
Abhängig von der Auswahl für ein Freie-Aufzählung-Attribut (s. Freie-Aufzählung-Typ) "Luftfahrzeugkategorie" in der Auswahlfeld/Combobox sollen in einer Erfassungsmaske bestimmte Bild/Icon-Elemente ein- und ausgeblendet werden, um die Auswahl zu symbolisieren.
Zwecks Transparenz beinhaltet in diesem Beispiel die Lokalisierung jedes Aufzählungswerts auch den ausschlaggebenden internen Namen (in Großbuchstaben), während der eigentliche Klartext in Klammern nachfolgt.
Die Zuordnung der Symbole soll gemäß folgender Tabelle erfolgen:
Luftfahrzeugkategorie |
Symbolik |
|||
GA (Allgemeine Luftfahrt) |
|
|
|
|
JET (Strahlflugzeuge) |
|
|
|
|
MIL (Militär) |
|
|
|
|
XXL (Großraumflugzeuge) |
|
|
|
|
Inhalt für .Gefüllt mit v4.13.0-Prüfung |
GA |
JET#MIL |
JET#XXL |
MIL#XXL |
►HINWEIS◄ Die hier angewendete Notation zur Verkettung von Alternativwerten über das '#'-Zeichen sollte nicht verwechselt werden mit der XML-Darstellung für den Wert eine Freie-Aufzählung-Attributs, wo das '#'-Zeichen als Trennzeichen zwischen dem internen Namen der Freien Aufzählung (Freie-Aufzählung-Typ) und dem internen Namen des konkreten Werts aus der zugrundeliegenden Dynamischen Aufzählung verbindet. Im konkreten Beispiel würde das XML des Geschäftsobjekts für den Aufzählungswert (enumValue) im Attribut "Luftfahrzeugkategorie" z. B. Werte wie ACFT_CAT#JET oder ACFT_CAT#MIL anzeigen. Beide würden eine Prüfung per Gefüllt mit mit Inhalt JET#MIL bestehen, da das Auswahlfeld/Combobox-Element nur den Wert der Dynamischen Aufzählung (JET, MIL, usw.) zurückgibt und nicht das verkettete enumValue. Trügerisch kann dabei sein, dass eine Prüfung gegen den Inhalt ACFT_CAT#JET für ein Attribut mit einem enumValue von ACFT_CAT#JET vordergründig auch funktioniert, auch wenn dabei sinngemäß geprüft wird, ob als "Luftfahrzeugkategorie" ein Wert mit dem internen Namen JET oder ACFT_CAT ausgewählt ist.
Bei der folgenden Umsetzung wurde darauf Wert gelegt, dass die Beziehung zwischen Kategorie und Symbol möglichst übersichtlich und wartungsfreundlich geregelt ist.
Zunächst wurde für jedes Symbol ein Verhalten mit dem Namen "showIf" und ohne Auslöser konfiguriert, das per Gefüllt mit entscheidet, ob das Symbol gerade angezeigt oder verborgen werden soll:
Gefüllt mit wertet stets das verknüpfte Auswahlfeld/Combobox-Element ("Enum Wert") aus dem Attribut "Luftfahrzeugkategorie" aus.
Das Kriterium für den Parameter Inhalt muss wie in der letzten Tabellenzeile (oben) angegeben je Symbol spezifisch gesetzt werden.
Die Aktionen Element anzeigen (bei "wahr") und Element verbergen (bei "falsch") müssen mit dem jeweiligen Symbol verknüpft sein.
Auf dieser Basis kann ein zusätzliches Symbol als Kopie eines bestehenden hinzugefügt werden. In der Kopie muss außer dem Icon selbst nur die Definition für den Parameter Inhalt angepasst werden. Dagegen ist die Verknüpfung zum Auswahlfeld ist für alle Symbole identisch und die Aktionen beziehen sich automatisch "passend" auf die Kopie als Element.
Jetzt müssen die "showIf"-Verhalten aller Symbole noch explizit angestoßen werden, wenn sich die Auswahl ändert:
Dies erledigt ein Statisch-Verhalten des Auswahlfelds, das auf den Auslöser Geändert für alle Änderungstypen reagiert.
Unter Aktionen bei "wahr" muss hier für jedes Symbol eine Verhalten ausführen-Aktion eingehängt sein.
Da der Verhaltensname für alle Symbole identisch ist, muss auch hier nach dem Hinzufügen eines neuen Symbols nur eine bestehende Aktion kopiert und dann mit dem neuen Symbol verknüpft werden.