Nummernkreiswert

Wertauflöser - Kurzfassung

Zweck: Versucht einen Nummernkreiswert für den angegebenen Nummernkreistyp abzurufen.

images/download/attachments/78256065/image2022-8-25_15-27-56-version-1-modificationdate-1661434076462-api-v2.png

Der Nummernkreiswert-Wertauflöser versucht einen Nummernkreiswert für den angegebenen Nummernkreistyp abzurufen.

Ob der Wertauflöser einen Nummernkreiswert zurückgibt, hängt davon ab, ob ein Nummernkreis ...

  • für den Nummernkreistyp konfiguriert,

  • aktiv gesetzt,

  • im gegebenen Kontext anwendbar (s. Hinweis unten) und

  • noch nicht "ausgeschöpft"

.... ist.

Weitere Details s. Nummernkreise.

Ist eines dieser Kriterien nicht erfüllt, wird "kein Wert" ($null) zurückgegeben.

HINWEIS◄ Die dynamische Zuordnung von Nummernkreisen für den ausgewählten Nummerntyp berücksichtigt den Eingabewert für den Nummernkreiswert-Wertauflöser als Datenkontext, der im Kontext einer Verkettung vom im Kontext geltenden Bezugsobjekt abweichen kann.

Der Eingabewert wird zusammen mit den im Kontext des Nummernkreiswert-Wertauflösers geltenden Variablen an den ggf. zugeordneten Nummernkreis übergeben. Die entsprechenden Daten können in dessen Konfiguration zur Definition von Nummernteilen genutzt werden (s. Wert über Resolver (Nummernteil)).

Konfiguration

Der einzige Parameter Nummernkreistyp ist formal kein Pflichtfeld. Allerdings wird ohne eine Auswahl für den Nummernkreistyp immer "kein Wert" ($null) zurückgegeben.

Das Auswahlfeld für den Parameter Nummernkreistyp bezieht sich auf die Dynamische Aufzählung Nummernkreistyp und unterstützt wie rechts gezeigt eine Suchfunktion.

Im Kontext der Konfiguration anwendbare Aufzählungsfilter für den Nummernkreistyp können die Auswahloptionen einschränken. Auf das Laufzeitverhalten haben solche Einschränkungen keinen Einfluss.

images/download/attachments/78256065/image2022-8-26_13-49-59-version-1-modificationdate-1661514599096-api-v2.png

Beispiel

Immer wenn das Konto eines Benutzers (s. Benutzer) oder Gastbenutzers (s. Gastbenutzer) erstellt, geändert oder gelöscht wird, soll eine E-Mail an einen Administrator gesendet werden, in deren Betreffzeile ein Nummernkreiswert als eindeutige Kennung für die "Konto-Transaktion" erscheint.

Konkret soll der Nummernkreis eine sechsstellige inkrementelle Laufnummer mit einem Kennbuchstaben für die Transaktion ("C"=CREATE, "U"=UPDATE, "D"=DELETE") und dem Typ des betreffenden Kontos verbinden.

Laufzeitbeispiel:

Im Beispiel rechts erscheint die Laufnummer (#58) gefolgt vom Kennbuchstaben "D" (DELETE) und dem internen Klassennamen für das gelöschte Objekt vom Typ Gastbenutzer (GuestUser).

images/download/attachments/78256065/image2022-8-26_15-12-57-version-1-modificationdate-1661519577750-api-v2.png

Konfiguration:

Eine Ereignisbehandlung wird wie rechts abgebildet konfiguriert:

  • Als Auslösende Ereignisse werden "Löschen", "Erstellen", "Ändern" (s. Allgemein (Ereignisse)) definiert.

  • Die Prüfende Regel führt eine Typprüfung auf die übergreifende Klasse "Schnittstelle > Benutzer" aus, sodass nur für Benutzer und Gastbenutzer Ereignisaktionen ausgeführt werden.

  • Die E-Mail-Versand-Ereignisaktion erhält zur Laufzeit als Eingabewert das Konto, auf das sich das auslösende Ereignis bezieht. Dessen Daten stehen daher auch für die in der Konfiguration definierten Wertauflöser zur Verfügung:

    • Im Parameter Betreff betrifft dies den Nummernkreiswert-Wertauflöser, der sich wie im Bild zu sehen auf den eigens eingerichteten Nummernkreistyp "Account Transaction" (ACCOUNT_TRANSACTION) bezieht.

    • Dieselben Daten könnten im weiteren für Konfigurationen für den Mail-Body-Erzeuger oder zur Definition eines Anhangs für die Mail verwendet werden. Details dazu sind für das vorliegende Beispiel nicht relevant.

Der Betreff für die E-Mail wird hier komplett durch die Konfiguration eines Nummernkreises mit dem Nummernkreistyp "Account Transaction" definiert. Diese enthält wie im Screenshot unten zu sehen ist 5 Nummernteile:

  • Der erste ist vom Typ Dynamisch (Nummernteil) und definiert eine inkrementell aufsteigende Laufnummer mit einem Wertebereich 1 - 999.999, die mit Vornullen dargestellt wird, damit E-Mails ggf. nach dem Betreff sortiert werden können, um "Konto-Transaktionen" chronologisch nachzuvollziehen.

  • Es folgt ein Nummernteil vom Typ Fest (Nummernteil), der einen Unterstrich als Trennzeichen einfügt.

  • Danach folgen ein Nummernteil vom Typ Wert über Resolver (Nummernteil) mit der Beschreibung "Event", der denn Kennbuchstaben "C", "U" oder "D" setzt. Dies ermöglicht eine im Bild nicht sichtbare Verkettung des Auslösendes Ereignis-Wertauflösers mit einem Teilstring-Wertauflöser, der nur das erste Zeichen aus dem internen Namen des Ereignisses übernimmt.

  • Es folgt ein Nummernteil vom Typ Fest (Nummernteil), der einen Unterstrich als Trennzeichen einfügt.

  • Den Abschluss bildet ein weiterer Nummernteil vom Typ Wert über Resolver (Nummernteil), der (s. Bild) den internen Klassennamen aus der Variable entityClass liest und über den verketteten Text ersetzen-Wertauflöser alle Textzeichen bis zum letzten Punkt durch nichts ersetzt (also den Namespace-Anteil des Klassennamens "entfernt"). Übrig bleibt der interne Name der Klasse (hier: "User" oder "GuestUser"), der für den Betreff ausreichen soll.

images/download/attachments/78256065/image2022-8-26_15-19-9-version-1-modificationdate-1661519949768-api-v2.png

images/download/attachments/78256065/image2022-8-26_15-32-32-version-1-modificationdate-1661520752620-api-v2.png