Journaldefinition

Mit einer Journalfunktion können alle Änderungen an einem ausgewählten Formular oder Datenobjekt (DTO) protokolliert werden (z.B. Änderungen an wichtigen Kundendaten). Dazu wird ein Journal zunächst definiert und eine Beziehung zwischen dem Journal und dem Datenobjekt, das im Formular präsentiert wird, hergestellt. Am Formular selbst wird ein zusätzlicher Reiter (Journal) benötigt, in dem alle protokollierten Änderungen angezeigt werden.

Die zu protokollierenden Änderungen können Feldbezogen sein (alle Änderungen an oder in ausgewählten Feldern protokollieren) oder Datensatzbezogen (Änderungen am DTO unabhängig von Feldänderungen), siehe weiter unten.

Standard für ein datensatzbezogenes Journal

Hinweis: In der Journaldefinition kann man ein "datensatzbezogenes Journal" definieren. Beachten Sie, dass beim Löschen eines Datensatzes auch die dazugehörenden Journaleinträge gelöscht werden.

Im Standard wird das Journal PSA_ACT ausgeliefert. Als Beziehungen werden Produkte, Doku­mente, Serviceobjekte, Kontakte, Verteiler, Projekte und Ressourcen protokolliert. Es wird ein neues Interface PSA_JRN_REC_IFC mit den DTOs verknüpft. Für Aktivitäten werden die Journaleinträge in der Tabelle PSA_JRN_REC_DAT_ACT abgelegt.

PSA_ACT wird im Entry Portal verwendet. Hier gibt es eine Sicht auf Aktivitäten, die die Journalta­belle als Komponente haben. Mit dieser Möglichkeit der Journaldefinition kann man die Änderungen an allen Datenobjekten überwachen. Damit kann im Entry Portal die Sicht auf die zuletzt bearbeiteten Aktivitäten gesteuert werden.

Attention

Achtung: Der zusätzliche Reiter "Journal" kann nur mit Customizerrechten bereitgestellt werden, da dies Kenntnisse des Datenmodells voraussetzt und Assoziationen zwischen Datenob­jekten hergestellt werden müssen.

Felder, Flags und Funktionen

Bezeichnung

Beschreibung

Name

Name des Datenobjekts (DTO)

Titel

Titel des Datenobjekts

Tabelle

Name der Datenbanktabelle des Datenobjekts

Superklasse

Bezeichnung der Superklasse des Datenobjekts (erscheint nur, wenn eine Superklasse besteht)

Rec. bei Insert

y = Insert (Anlegen) eines neuen Datensatzes und Änderung der Felder wird protokolliert.

n = Keine Protokollierung beim Anlegen eines neuen Datensatzes, jedoch bei Änderung der Felder.

Rec. bei Update

y = Alle in der Liste mit dem Flag Update (Bearbeiten) gekennzeichneten Felder wer­den überwacht.

n = Keine Protokollierung, auch wenn in der Liste Felder gekennzeichnet sind.

Rec. bei Delete

Gelöschte Datensätze werden ebenfalls protokolliert.

Rollback erlaubt

Bezieht sich auf eine weitere Funktion am Journalreiter der Zielmaske (Rollback). Es wird empfohlen, die Einstellung in der Liste (Rollback) deaktiviert zu lassen.

Upgrade Journal

y = Es handelt sich es sich um ein Datenobjekt, dessen Datensätze customisiert werden und die beim Upgrade zurückgeschrieben werden. Siehe auch unten: Flag Upgrade Journal

Beziehung erzeugt

Zeigt an, ob das Journal aktiv ist.

Userexit

Userexit, der beim Erzeugen des Journaleintrags aufgerufen werden soll und dem ggf. ein Kommentar übergeben werden kann. Es muss ein Klassenname oder durch ein vorangestelltes $-Zeichen dynamisches Java angegeben werden. Die Klasse muss PsaJrnUsx implementieren.

Feldname (Liste)

Der eigentliche Datenfeldname (z.B. GID eines Kontakts).

Sichtbarer Feldname (Liste)

Auf der Oberfläche sichtbarer Eintrag (z.B. Namenskomponente des Kontakts).

Titel

Feldtitel am Datenobjekt

Typ

Typ des Feldes (Datum, Integer, Logik, String usw.)

Update

y = Es wird ein Journaleintrag erzeugt, wenn das Feld modifiziert wird.

Rollback

y = Rollback ist für dieses Feld erlaubt (siehe auch weiter unten)

Journal überschreiben (Flag)

Flag für den Customizer, damit stets nur die zuletzt vorgenommene Änderung protokolliert wird (Programmierunterstützung).

Funktionsleiste

Beziehung erzeugen

Nachdem ein Journal angelegt wurde, wird die Beziehung zwischen dem Datenobjekt und dem Journalreiter an der Zielmaske hergestellt und ein Interface initialisiert.

Beziehung löschen

Die oben genannte Beziehung wird entfernt, das Interface deaktiviert, und es werden keine neuen Änderungen pro­tokolliert. Die alten Einträge stehen weiter zur Verfügung.

Userexit überprüfen (Funktion im Unterdialog)

Überprüft den eingetragenen Userexit des markierten Feldes in der Liste.

Flag „Upgrade Journal“

Hinweis: Dieses Flag sollte nicht gesetzt werden, wenn bei der Änderung von Feldinhalten ausschließlich protokolliert und diese nicht (z.B. vom Testsystem in das Produktivsystem) übernommen werden sollen.
Ist das Flag gesetzt, wird dieses Journal nach einem CRM-Upgrade noch einmal gestartet, und die Werteänderungen des Standards durch "PSA" werden rückgängig gemacht.

Das Flag kann gesetzt werden, wenn Datensätze wie Menüeinträge (Menüauswahl) und Ähnliches an dem zu protokollierenden Datenobjekt customisiert werden (Journal an Anpassungslisten). Dann ist es sinnvoll, dass diese Journale mit dem Flag Upgrade Journal markiert werden. Damit stellen Sie sicher, dass geänderte Einträge bei einem Upgrade in den Ursprungsdatensatz zurückgeschrieben werden.

Eine Werteänderung rückgängig machen (Rollback)

Wird eine Werteänderung rückgängig gemacht, so wird der geänderte Wert eines Attributs aus dem Datenobjekt, bei dem das Journal definiert ist, in der Datenbank wieder auf den ursprünglichen Wert zurückgesetzt.

Attention

Achtung: Die Möglichkeit des Rollbacks sollte nur in besonderen Fällen verwendet werden. Bitte denken Sie daran, dass geänderte Attributwerte, die zurückgesetzt werden, zu Inkonsistenzen in der Datenbank führen können, da eventuell mit diesen Werten verbundene weitere Attribute vom Rollback nicht berücksichtigt werden. Sie sollten das Rollback nur erlauben, wenn Sie das Datenmodell kennen und wissen, wie die Attribute untereinander in Beziehung stehen.

Wählen Sie aus der Journalliste einen Satz aus. Über das RMT-Menü oder die Funktionsleiste am rechten Bildschirmrand kann die Funktion Rückgängig Werteänderung aufgerufen werden.

Wenn der Journaleintrag im Aktionsfeld der Liste den Wert UPDATE hat und das Rollback-Flag (Feld Rollback erlaubt) gesetzt hat und der Eigentümer des Journalsatzes oder Basisobjektsatzes ist, dann wird der Attributwert wieder auf den alten Wert zurückgesetzt, unabhängig davon, ob der neue Wert laut Journal­eintrag dem aktuellen Wert entspricht. Wurden mehrere Sätze zum gleichen Attribut und zum gleichen Basisobjektsatz markiert und für diese die Funktion aufgerufen, so muss am Ende der alte Wert des ältesten Journaleintrags beispielsweise im Kontaktsatz erscheinen, wovon Sie sich bei einem Refresh des Kontaktsatzes überzeugen können. Für die vorgenommene Änderung entsteht in der Journal­liste ein entsprechender Journaleintrag mit der Aktion RESET.