Erstelle Debug snapshot
Ereignisaktion - Kurzfassung
Zweck: Generiert einen willkürlichen Eintrag im Event Recorder inklusive Snapshot vom Datenkontext.
Die Ereignisaktion Erstelle Debug snapshot kann innerhalb von Ereignisbehandlungen eingesetzt werden, um zur Laufzeit willkürliche Einträge im Event Recorder auszugeben. Mit jedem dieser Einträge wird dabei ein "Schnappschuss" (Debug snapshot) des aktuellen Datenkontexts (Eingabewert, Variablen, Login-Request) festgehalten. Damit sind Veränderungen am Bezugsobjekt der Ereignisbehandlung, an Wertzuweisungen für Variablen und ggf. Details zum Anmeldekontext im Verlauf der Ereignisbearbeitung abschnitt- oder sogar schrittweise nachvollzogen werden.
Der im optionalen Parameter Name eingegebene statische Text erscheint dabei im Event Recorder in Verbindung mit einem angehängten Laufindex (#0, #1, ...), der Wiederholungen desselben Eintrags unterscheidbar machen soll.
Jeder Instanz einer Erstelle Debug snapshot-Ereignisaktion wird dabei ein eigener Laufindex zugeordnet. Sofern der Parameter Name für zwei Instanzen übereinstimmt, sind also durchaus Duplikate für die Werte der Name-Spalte im Event Recorder zu erwarten.
►HINWEIS◄ Solange der Event Recorder zur Laufzeit nicht aktiv ist, hat die Verwendung der Ereignisaktion Erstelle Debug snapshot in Ereignisbehandlungen keinen Einfluss auf die Performance.
Beispiel
In einer Ereignisbehandlung sollen alle Firmen- und Adressattribute eines Geschäftsobjekts vom Typ Sendung auf Plausibilität geprüft werden. Dazu werden sie an ein Eigenes Aktionsevent als "Eingabewert" übergeben, das die einheitliche Prüflogik auf jedes übergebene Attribut anwendet. Verstößt eine Adresse gegen die eine der dort definierten Regeln, wird der Verstoß entweder als "Fehler" oder als "Warnung" deklariert, indem eine Einmalverarbeitung ausgeführt-Ereignisaktion einen entsprechenden Merker setzt.
Im Zuge von Tests für die Prüflogik, soll der Event Recorder genutzt werden können, um für jede geprüfte Adresse einer Sendung nachzuvollziehen, wie das Urteil der Plausibilisierung ausgefallen ist.
Konfiguration:
Die rechts abgebildete Ereignisbehandlung definiert die Prozedur, durch die alle Firmen- und Adressattribute einer Sendung einer Plausibilisierung unterzogen werden, die in einer anderen Ereignisbehandlung stattfindet.
Auf die Prüfung folgen hier Ereignisaktionen, die das Prüfungsergebnis im Event Recorder nachvollziehbar machen sollen:
|
|
Laufzeitbeispiel:
Der folgende Screenshot zeigt die chronologisch sortierten Einträge im Event Recorder, während der Prüfung einer Sendung mit drei Firmen- und Adressattributen.
In der Liste ist der erste Eintrag mit einer "Erfolgsmeldung" (ADDR_OK) ausgewählt. Der Reiter "Eingabewert" zeigt oberhalb der Liste die Daten des betreffenden Firmenattributs.
Der erste Eintrag (TestEvent) markiert den Beginn des Tests. Er wurde vom System automatisch erstellt.
Danach folgende drei Gruppen von Einträgen, die innerhalb der Schleife ausgelöst wurden. Das Schema ist immer dasselbe:
Das Eigene Aktionsevent "Prüfe Adresse" wird ausgelöst, was vom Event Recorder automatisch aufgezeichnet wird.
Der Debug snapshot mit dem Namen ADDR_CHECK markiert den Beginn der Auswertung der von der Prüfung gesetzten Merker.
Danach folgt der Debug snapshot der im durchlaufenen Ast der Fallunterscheidung ausgelöst wird mit dem Namen ADDR_ERROR oder ADDR_WARNING oder ADDR_OK.
Der jeweils bei #0 beginnende Laufindex hinter dem Namen liefert hier Informationen zur "Statistik":
Der letzte Eintrag für ADDR_CHECK trägt den Index 2. Es wurden also insgesamt 3 Adressen geprüft.
Der letzte Eintrag für ADDR_OK trägt den Index 1. Es wurden also insgesamt 2 Adressen "ohne Befund" getestet.
Der Index 0 im einzigen Eintrag für ADDR_WARNING verdeutlicht, dass nur für eine Adresse das Gesamturteil "Warnungen" galt.
Es traten keine Fehler auf, da kein Eintrag mit dem Namen ADDR_ERROR aufgezeichnet wurde.
►ANMERKUNG◄
Da der Name der hier per Erstelle Debug snapshot "willkürlich" erzeugen Einträge immer mit der Zeichenfolge ADDR beginnt, kann die Filterfunktion der Liste verwendet werden, um nur den relevanten Verlauf im Event Recorder anzuzeigen: