Wert als Variable speichern
Wertauflöser - Kurzfassung
Zweck: Weist den Eingabewert der über den Parameter Name der Variable adressierten Variablen im Ausführungskontext zu.
Der Wert als Variable speichern-Wertauflöser weist den Eingabewert der über den optionalen Parameter Name der Variable adressierten Variablen im Ausführungskontext zu.
Enthält der Parameter Name der Variable keine Angabe, dann wird der Eingabewert nicht gespeichert.
Ist die adressierte Variable im Ausführungskontext bereits in Verwendung, wird sie überschrieben.
Existiert die adressierte Variable im Ausführungskontext noch nicht, wird sie hinzugefügt.
In jedem Fall wird der Eingabewert unverändert als Rückgabewert geliefert.
Im Kontext einer Wertauflöserkette kann damit ein beliebiges Zwischenergebnis buchstäblich "beiläufig" gespeichert werden, um im weiteren Verlauf darauf zugreifen oder den Wert im Kontexts von Tests untersuchen zu können.
Während in Ereignisbehandlungen oder in einem Client Workflow der Wert einer Variablen alternativ auch durch eine Zuweisung per Ereignisaktion (z. B. per Setze Wert mit einem Variable-Wertauflöser als Ziel) erfolgen können, stellt der Wert als Variable speichern-Wertauflöser z. B. in Zuordnungskriterien die einzige Möglichkeit dar, einen Wert direkt im Ausführungskontext zu speichern.
Konfiguration
Der optionale Parameter Name der Variable definiert durch einen statischen Text den Namen für eine Variable im Ausführungskontext, der der Eingabewert als Wert zugewiesen werden soll.
Im Beispiel rechts wird der Wert als Variable speichern-Wertauflöser innerhalb einer Wertauflöserkette eingesetzt, der das über einen Erzeuge Instanz-Wertauflöser neu angelegte Firmenkonto im Eingabewert der Variablen newCompanyAccount zuweist, mit dessen Feld address im weiteren Verlauf der Kette "gearbeitet" werden soll. Die Variable newCompanyAccount ermöglicht den Zugriff auf das neu angelegte Firmenkonto in Operationen, die nach dem Zugriff auf die Firmenadresse im Kontext der aktuellen Wertauflöserkette ausgeführt werden. |
|
►HINWEIS◄ Sofern der Name der Variable nicht statisch in der Konfiguration sondern erst zur Laufzeit ermittelt werden soll, kommt nur eine Zuweisung per Ereignisaktion (z. B. mit dem Setze Wert-Wertauflöser) in Frage. Wenn das Ziel der Zuweisung durch den Variable-Wertauflöser bestimmt wird, kann der Name der Variablen über Wertauflöser ermittelt werden.
Beispiel
Einfacher Anwendungsfall: Zwischenergebnis in einer mehrstufigen Berechnung speichern
Ausgehend von Zahlwerten für "Menge" (quantity), "Stückpreis" (unitPrice) und einem in Prozent angegebenen anwendbaren "Steuersatz" (taxRate) soll neben dem resultierenden "Bruttobetrag" (grossAmount) auch der "Nettobetrag" (netAmount) wie folgt berechnet werden:
netAmount = quantity * unitPrice
grossAmount = netAmount * (1+taxRate/100)
Die folgende Konfiguration demonstriert, wie der "Nettobetrag" über den Wert als Variable speichern-Wertauflöser als Zwischenergebnis in einer Wertzuweisung für den "Bruttobetrag" gespeichert werden kann.
Auf die nachfolgende Verwendung der Variablen netAmount und grossAmount wird dabei nicht eingegangen.
Konfiguration:
Innerhalbe einer Ereignisbehandlung, die beim Speichern eines Geschäftsobjekts ausgelöst wird, wird eine Setze Wert-Ereignisaktion ausgeführt, die den "Bruttobetrag" berechnet und dessen Wert als Gesamtergebnis in die Variable grossAmount schreibt.
|
|
►ANMERKUNG◄ Das hier demonstrierte Konzept kann in derselben Wertauflöserkette auch mehrstufig angewendet werden, um eine Serie von Zwischenergebnissen in Variablen zu übertragen.
Komplexerer Anwendungsfall: "Prüfende Regel" belegt Variablen für die "Aktionen bei bestandener Regel"
In einer Ereignisbehandlung soll die Prüfende Regel feststellen, ob die Firma, auf die das angemeldete Benutzerkonto (lt. Benutzer der Session) als "Besitzer" (ownerId) verweist, ihr Firmenkonto selbst besitzt oder nicht.
Aktionen sollen nur ausgeführt werden, wenn das nicht der Fall ist. Unter anderem soll dann eine Benachrichtigung auf die Besitzverhältnisse hinweisen.
Laufzeitbeispiel:
Im "Titel" der Benachrichtigung erscheint der "Benutzername" für den Benutzer der Session. Die "Meldung" unterhalb zeigt im Kontext einer Textverkettung (inkl. Literalen zur Verdeutlichung der Besitzverhältnisse), den Namen der "Besitzer"-Firma dieses Benutzerkontos ("Vortex Inc.") und den Name deren "Besitzer"-Firma ("Xflow AG") an. |
|
Konfiguration:
Die oben abgebildete Prüfende Regel einer Ereignisbehandlung definiert eine Objekt-Feld-Regel, die das Feld "Besitzer" (ownerId) für den Benutzer der Session mit demselben Feld in dem dort als "Besitzer" referenzierten Firmenkonto vergleicht:
Auf der linken Seite des Vergleichs wird die ID der Firma ermittelt, die den Benutzer der Session besitzt:
Die Wertauflöserkette startet mit dem Benutzer der Session-Wertauflöser, der das angemeldete Benutzerkonto liefert.
Der verkettete Wert als Variable speichern-Wertauflöser speichert dieses Benutzerkonto in der Variablen me.
►HINWEIS◄ Auf diese Variable bezieht sich die Hinweis anzeigen (Popup)-Ereignisaktion im "Titel".Der verkettete Objekt-Feld-Wertauflöser liest das Feld "Besitzer" (ownerId) des Benutzerkontos, das als Benutzer der Session gilt.
Der verkettete Wert als Variable speichern-Wertauflöser speichert die als "Besitzer" angegebene ID des Firmenkontos in der Variablen myOwnerId.
►HINWEIS◄ Auf diese Variable bezieht sich der Variable-Wertauflöser am Beginn der Wertauflöserkette auf der rechten Seite der Objekt-Feld-Regel.
Auf der rechten Seite des Vergleichs wird die ID der Firma ermittelt, die das Firmenkonto besitzt, das den Benutzer der Session besitzt.
Die Wertauflöserkette startet mit der Variablen myOwnerId, wobei ein Nachschlagen für den Typ "Firmenkonto" (CompanyAccount) ausgeführt wird (s. Variable-Wertauflöser).
Der verkettete Wert als Variable speichern-Wertauflöser speichert das über den Variable-Wertauflöser nachgeschlagene Firmenkonto in der Variable myOwner.
►HINWEIS◄ Auf diese Variable bezieht sich die Hinweis anzeigen (Popup)-Ereignisaktion in Konfiguration für die "Meldung".Der verkettete Objekt-Feld-Wertauflöser liest das Feld "Besitzer" (ownerId) des Benutzerkontos, des Firmenkontos, das den Benutzer der Session besitzt.
Der verkettete Wert als Variable speichern-Wertauflöser speichert die als "Besitzer" angegebene ID des Firmenkontos in der Variablen myOwnersOwnerId.
►HINWEIS◄ Auf diese Variable bezieht sich die Hinweis anzeigen (Popup)-Ereignisaktion in Konfiguration für die "Meldung".
Da die Prüfende Regel immer verarbeitet wird, bevor Aktionen bei bestandener Regel ausgeführt werden, sind in deren Kontext die über den Wert als Variable speichern-Wertauflöser adressierten Variablen wie folgt befüllt:
Variable |
Inhalt |
Datentyp |
Verwendung in einer Hinweis anzeigen (Popup)-Ereignisaktion |
me |
"Benutzer" |
Lesezugriff auf Feld "Benutzername" (username) im "Titel" |
|
myOwnerId |
ID des Firmenkontos, das den Benutzer der Session besitzt |
Long |
nicht verwendet (nur innerhalb der Prüfenden Regel) |
myOwner |
Daten des Firmenkontos, das den Benutzer der Session besitzt |
"Firmenkonto" |
Lesezugriff auf das "Name"-Feld der Adresse (address.name1) |
myOwnersOwnerId |
ID des Firmenkontos, das das myOwner-Firmenkonto besitzt |
Long |
Lesezugriff auf das "Name"-Feld der Adresse (address.name1) nach Nachschlagen des betreffenden Firmenkontos per ID über den Variable-Wertauflöser mit Typ "Firmenkonto" |