Wertauflöser - Kurzfassung
Zweck: Gibt serverseitig eine ganzzahlige, vorzeichenbehaftete Pseudozufallszahl mit 64 Bit (Long) zurück.
Tooltip
Verwendung: Der Wertauflöser gibt bei jedem Aufruf eine ganzzahlige, vorzeichenbehaftete Pseudozufallszahl mit 64 Bit (Long) zurück. Der Eingabewert wird ignoriert.
Hinweis: Um Zufallszahlen in einem bestimmten Wertebereich zu erhalten, kann z. B. der Modulo-Operator (%) in einem verketteten Berechne Wert-Wertauflöser verwendet werden.
Beispiel: Berechnungsausdruck abs(random%limit) liefert Zufallszahlen im Bereich {0, ..., limit-1}, wenn random ein .Zufälliger Long-Wert v4.12.0 ist.
Warnung: Im Client-Kontext werden nur die niedrigsten 52 der 64 Bits berücksichtigt, sodass nur Ganzzahlen ≥0 (aus dem Intervall [0;2^52[) zurückgegeben werden.
Siehe auch: Zufälliges Text-Token
Der Zufälliger Long-Wert-Wertauflöser gibt serverseitig eine ganzzahlige, vorzeichenbehaftete Pseudozufallszahl mit 64 Bit (Long) zurück.
►WICHTIG◄ In einem Client Workflow gibt der Zufälliger Long-Wert-Wertauflöser aus technischen Gründen nur die niedrigsten 52 Bits des zufälligen Long-Werts zurück. Die höherwertigen Bits werden ignoriert bzw. abgeschnitten. Das schließt auch das Vorzeichen-Bit (Nr. 64) mit ein! Der Wertebereich im Client Workflow ist also auf Ganzzahlen im Intervall [0;2^52[ begrenzt, während sich serverseitig der 64bit-Wertebereich annähernd symmetrisch um 0 aufspannt.
Konfiguration
Der Wertauflöser ignoriert den Eingabewert und verwendet keine Parameter.
Beispiel
Eine Ereignisbehandlung soll eine zufällige Auswahl aus einer Anzahl Optionen treffen. Die Optionen für die Auswahl sollen zur Laufzeit "dynamisch" über eine Suche (Ereignisaktion) ermittelt werden. Die Anzahl der Optionen kann dabei abhängig von den Basisdaten und den Suchkriterien variieren.
Alle durch die Suche (Ereignisaktion) qualifizierten Optionen sollen bei der Zufallsauswahl gleichberechtigt berücksichtigt, also mit derselben Wahrscheinlichkeit ausgewählt werden.
Im konkreten Beispiel soll eine Ereignisbehandlung ein zufällige Einfachauswahl aus einer Teilmenge von Instanzen für einen für einen Eigenen Entitätstyp (s. Eigene Typdefinitionen) "Aircraft" (Aircraft) treffen, deren Eignung für einen bestimmten Einsatz durch Einschränkungen innerhalb der Suche geprüft wird.
Konfiguration:
Der Screenshot rechts zeigt die Konfiguration einer Ereignisbehandlung im Überblick, die eine Liste qualifizierter "Kandidaten" ermittelt, eine zufällige Auswahl trifft und die Entscheidung per Benachrichtigung mitteilt:
Zunächst wird eine Suche (Ereignisaktion) ausgeführt, die aus allen Instanzen für den Eigenen Entitätstyp "Aircraft", für die im Ausführungskontext Lesezugriff besteht, geeignete Kandidaten ermittelt. Die Liste dieser Kandidaten für die zufällige Auswahl wird als "Ergebnisliste" in die Variable acft_subset geschrieben.
Alle weiteren Schritte finden im Aktionsblock einer Ausführen mit-Ereignisaktion statt, die per Parameter Objekt-Wertauflöser die Liste der Kandidaten in der Variable acft_subset als temporäres Bezugsobjekt festlegt:
Abschließend wird das Ergebnis der zufälligen Auswahl durch eine Hinweis anzeigen-Ereignisaktion (s. u.) bekannt gegeben.
|
|
Der Screenshot rechts zeigt die Konfiguration für die Hinweis anzeigen-Ereignisaktion, die noch im Kontext der Ausführen mit-Ereignisaktion mit der Liste der Kandidaten als Bezugsobjekt ausgeführt wird:
Die Wert-Konfiguration für den Parameter Titel soll über die Anzahl der Kandidaten informieren, aus denen ausgewählt wurde:
Der auszugebende Text wird hier zunächst als statischer Text mit einem Platzhalter-Symbol (#) festgelegt.
Der verkettete Text ersetzen-Wertauflöser ersetzt den Platzhalter (Suchtext #) durch die "Länge" der Kandidatenliste, die in der Wert-Konfiguration für den Parameter Ersetzen mit per Objekt-Feld-Wertauflöser aus dem Bezugsobjekt ermittelt wird.
Die Wert-Konfiguration für die Meldung verkettet weitere Wertauflöser:
Der Listenwert-Wertauflöser bezieht sich auf die Kandidatenliste (Bezugsobjekt) und bestimmt per Modus "Wert (vom Anfang)" über den Offset den zurückzugebenden Listeneintrag. Im Parameter Offset ist dabei der der Name der Variable randomPick eingetragen, deren Rückgabewert zur Laufzeit den "gewürfelten" Index des Listeneintrags angibt.
Der verkettete Wert als Variable speichern-Wertauflöser speichert die zufällig ausgewählte "Aircraft"-Instanz in eine weitere Variable pickedAcft, auf die nachfolgende Ereignisaktionen zugreifen können.
Der verkettete Objekt-Feld-Wertauflöser liest das Feld registration aus der "Aircraft"-Instanz, über dessen Wert die Auswahl in der Meldung identifiziert werden soll.
Laufzeitbeispiel:
►ANMERKUNG◄ Der "Lückentext" im Titel für die Hinweis anzeigen-Ereignisaktion kann natürlich auch mehrsprachig ausgeführt werden, indem ein Wert aus Sprachverwaltung-Wertauflöser in Verbindung mit einem Sprachverwaltungseintrag verwendet wird, der einen Parameter ({0}) für die Anzahl der Optionen vorsieht.
|
|