Wertauflöser - Kurzfassung
Zweck: Fragt in einem interaktiven Kontext über eine modale Eingabeaufforderung eine Texteingabe vom Benutzer ab.
Tooltip
Verwendung: Der Wertauflöser öffnet in einem interaktiven Kontext unter Berücksichtigung der unten beschriebenen Parameter eine Eingabeaufforderung, um dem Benutzer die Eingabe von Text zu ermöglichen.
Beim Abschließen der Eingabe per OK-Button (oder - beim Eingabetyp "Einzeiliger Text" per Eingabe-Taste), wird der eingegebene Text zurückgegeben.
Nach Ablauf der maximalen Wartezeit (Maximale Wartezeit (s)) wird der Wert bei Zeitüberschreitung zurückgegeben.
In einem nicht-interaktiven Kontext (z. B. Profilaufruf) wird ohne Wartezeit sofort der Wert bei Zeitüberschreitung zurückgegeben.
Beim Klick auf den optionalen Abbrechen-Button wird "Kein Wert" (
$null) zurückgegeben.Parameter: Die Textparameter Titel, Nachricht, Standardwert und Wert bei Zeitüberschreitung können wahlweise statisch per Direkteingabe festgelegt oder über Wertauflöser zur Laufzeit definiert werden.
Die Parameter Titel und Nachricht definieren den Ausgabetext für die entsprechenden Bereiche der Eingabeaufforderung.
Der Standardwert definiert optional Text, mit dem Eingabebereich der Eingabeaufforderung vorbelegt wird.
Der Wert bei Zeitüberschreitung definiert den Rückgabewert für den Fall, dass die maximale Wartezeit (s. Maximale Wartezeit (s)) ohne Klick auf "OK" der "Abbrechen" abläuft ODER der Wertauflöser in einem nicht-interaktiven Kontext ausgeführt wird.
Der Parameter Eingabetyp definiert welcher Typ von Eingabe in der Eingabeaufforderung angeboten werden soll.
Die Parameter Größe ändern und Volle Größe betreffen das Verhalten des Fensters für die Eingabeaufforderung bezüglich seiner Größe.
Die Option Abbrechen erlauben? entscheidet, ob die Eingabeaufforderung einen Button zum "Abbrechen" der Eingabeaufforderung mit dem Rückgabewert
$nullanbietet.Die Maximale Wartezeit (s) mit Standardwert 30 gibt an, für wie viele Sekunden die Eingabeaufforderung maximal geöffnet bleibt, bevor der Wert bei Zeitüberschreitung zurückgegeben wird.
►ACHTUNG◄ Die Eingabe von 0 Sekunden ist möglich, bewirkt aber einen Timeout nach 60 Sekunden. Einstellungen >60 Sekunden werden allerdings ausdrücklich akzeptiert.Hinweis: Der Leeren-Button in der Eingabeaufforderung ersetzt den Wert im Eingabebereich durch eine leere Zeichenfolge und nicht "kein Wert" (
$null).Wichtig: Dieser Wertauflöser steht in einem Client Workflow nicht zur Verfügung!

►WICHTIG◄ Dieser Wertauflöser steht in einem Client Workflow nicht zur Verfügung!
Der Benutzereingabe-Wertauflöser fragt in einem interaktiven Kontext über eine modale Eingabeaufforderung eine Texteingabe vom Benutzer ab, die im Regelfall den Rückgabewert des Wertauflösers definiert.
Ausnahmen:
Sofern innerhalb der als Maximale Wartezeit (s) parametrierten Wartezeit keine Eingabe durch den Benutzer erfolgt, wird die Eingabeaufforderung geschlossen und der Wert bei Zeitüberschreitung zurückgegeben.
Ist Abbrechen erlauben? ausgewählt, dann gibt der Wertauflöser beim Abbrechen der Eingabeaufforderung durch den Benutzer "Kein Wert" (
$null) zurück und nicht etwa den Wert bei Zeitüberschreitung oder den Standardwert.
►HINWEIS◄ Liegt kein interaktiver Kontext vor, z. B. weil eine Ereignisbehandlung durch ein Import-Profil ausgelöst wurde, dann kann natürlich auch keine Eingabeaufforderung erfolgen. In diesem Fall wird ohne Wartezeit der Wert bei Zeitüberschreitung (und nicht etwa der Standardwert) als Rückgabewert verarbeitet.
Laufzeitbeispiele:
Einzeiliger Eingabebereich mit Abbrechen-Button:
Mehrzeiliger JSON-Eingabebereich:
|
|
Konfiguration
Der Eingabewert ist lediglich als Bezugsobjekt für Wertauflöser in Parametern relevant.
Die Textparameter Titel, Nachricht, Standardwert und Wert bei Zeitüberschreitung können wahlweise statisch per Direkteingabe festgelegt oder über Wertauflöser zur Laufzeit definiert werden.
Per Standard ist die Direkteingabe aktiv (s. Nachricht im folgenden Screenshot), von der per Klick auf den kleinen grauen Pfeil rechts unten im Textfeld zur Wertauflöser-Definition umgeschaltet werden kann.
|
|
Beispiel
Bestimmte Arbeitsstatus-Werte (wie "Abgeschlossen", "Storniert", usw.) sollen den Lebenszyklus von Geschäftsobjekten vom Typ "Sendung" unwiderruflich beenden. Falls einer dieser terminalen Arbeitsstatus in einem interaktiven Workflow zugewiesen wird, soll der Benutzer die Gelegenheit erhalten, im Feld "Grund" (reason) des hinzugefügten Arbeitsstatus-Eintrags einen "Schlusskommentar" einzutragen. Detailanforderungen hierzu:
Sofern im Kontext des Workflows bereits ein Text für den "Grund" (
reason) vorbelegt wurde, soll dieser als "Standardwert" erscheinen, so dass er vom Benutzer ggf. überarbeitet, ergänzt oder komplett ersetzt oder gelöscht werden kann.Der Benutzer soll die Möglichkeit erhalten, per Klick auf den "Abbrechen"-Button in der Eingabeaufforderung einen Rollback für die gesamte Transaktion zu bewirken und so den Wechsel zu einem terminalen Arbeitsstatus zu verhindern.
Tätigt der Benutzer innerhalb von 5 Minuten keine Eingaben, soll die Eingabeaufforderung geschlossen werden und der Arbeitsstatuswechsel inklusive dem ggf. vorbelegten "Grund" wirksam werden.
Laufzeitbeispiel:
|
|
Konfiguration:
Bevor Details zum Benutzereingabe-Wertauflöser erörtert werden, wird der Lösungsansatz im Überblick anhand der dargestellten Konfiguration für eine Ereignisbehandlung erklärt:
Als Auslösende Ereignisse müssen die Ereignisse für alle relevanten Arbeitsstatus ausgewählt werden, also diejenigen aus der Kategorie Arbeitsstatus (Ereignisse), die beim Hinzufügen eines Arbeitsstatus zu einer beliebigen Entität ausgelöst werden, die für Sendungen im Kontext des Beispiels als "Endstation" gelten. Die Prüfende Regel stellt per Typprüfung sicher, dass nur Aktionen ausgeführt werden, wenn einer der relevanten Arbeitsstatus zu einer "Sendung" hinzugefügt wurde. Als Aktion bei bestandener Regel wird eine Ausführen mit-Ereignisaktion genutzt, um als Bezugsobjekt für alle weiteren Ereignisaktionen den Arbeitsstatus-Eintrag festzulegen, auf den sich die Sendung im Eingabewert im Feld "Aktueller Arbeitsstatus" (
|
|
Der Benutzereingabe-Wertauflöser wird wie rechts abgebildet konfiguriert:
►ANMERKUNG◄ Mit dieser Konfiguration liefert die Eingabeaufforderung ausschließlich dann den Rückgabewert |
|
Die Objekt-Feld-Regel innerhalb der nachgeschalteten Wenn Dann Sonst-Ereignisaktion prüft per Ist Gleich ausdrücklich den "Kein Wert" (als Vergleichswert), um einen vom Benutzer ausgeführten Abbruch zu erkennen.
►HINWEIS◄ Ein eine Prüfung per Ist leer wäre hier nicht geeignet, weil diese auch für die leere Zeichenfolge ("") bestanden würde, die mit der Konfiguration oben dann zurückgegeben wird, wenn der Benutzer bis zum Timeout nicht reagiert, einen leeren Standardwert per "OK" bestätigt oder Text eingibt und dieser per "Leeren" wieder entfernt und dann per "OK" bestätigt. Gemäß der Anforderung in unserem Beispiel soll der Rollback aber ausschließlich durch einen Klick auf "Abbrechen" ausgelöst werden. |
|








