Achtung: In den folgenden Anleitungen geht es um das Customizing von Objekten, das nur ein JustRelate CRM-Customizer durchführen kann.
Das Eskalationsmanagement für andere Prozesse installieren
Schritte
- Eskalationslevel-Reiter im Formular anzeigen.
- Eskalationslevel und Eskalationsbild anzeigen.
- Level und Aktionen in der Prozessdefinition definieren.
- Implementierung für die Bestimmung des Levels schreiben.
- Implementierung in den Umgebungsvariablen bekannt machen.
- Scanner starten oder einen neuen anlegen und starten.
Oberfläche anpassen
In der Oberfläche müssen einige Anpassungen vorgenommen werden, damit die Eskalationslevel angezeigt werden können.
In den Formularen, die Objekte mit möglichen Eskalationslevels enthalten, muss der Reiter PSA_ESC_LEV_SCI eingefügt werden. Dieser Reiter zeigt dann die Levels, die für das Objekt definiert sind, sowie die entsprechenden Aktionen für jeden Level an. Als Assoziation zwischen dem Objekt und dem Level-Dialog wird bei Vorgängen PRO_ESC und bei Kontakten CON_ESC verwendet.
In der Maske kann noch der aktuelle Level angezeigt werden. Hierfür gibt es bei Vorgängen die beiden Felder ESC_LEV und ESC_PIC. Beide sind in der Klasse PSA_PRO_STR definiert und enthalten den aktuellen Level als Zahl und als Bild. Äquivalente Felder gibt es bei Kontakten nicht und müssen folglich per Customizing hinzugefügt werden.
Level definieren
In der Prozessdefinition können für jeden Prozess beliebig viele Levels mit mehreren Aktionen definiert werden.
Um einen neuen Level zu definieren, fügt man im Eskalationsreiter einen neuen Datensatz ein und vergibt einen Level-Wert, einen sprechenden Namen und eine Standardaktion. Der Parameter ist dann abhängig von der Implementation des Algorithmus für die Auswertung.
Für jeden Level müssen jetzt noch Kontakte oder Rollen spezifiziert werden. Jeder Kontakt kann eine vom Standard abweichende Aktion erhalten.
Implementierung der Level-Auswertung
Für jeden Prozess, der ein Eskalationsmanagement zur Verfügung stellt, muss es eine Implementierung geben, die für einen Datensatz den aktuellen Level bestimmt.
Diese Klasse muss das Interface de.pisa.psa.scn.PsaEscLevEvl implementieren oder die Klasse de.pisa.psa.scn.PsaEscLevEvlImp erweitern. Die Methode getNewLev wird für jeden Datensatz aufgerufen, der einen Eskalationslevel definiert hat. Die Methode gibt ein Objekt vom Typ EvlRes zurück, das die Informationen darüber enthält, welcher der aktuelle Level ist und mit welchen Informationen die aufrufende Methode weiterarbeiten soll.
Diese Klasse kann entweder eine "echte" Java-Klasse in Dateiform oder als "dynamische" Java-Klasse im Repository hinterlegt sein.
Als Beispiel kann die Klasse PsaEscLevEvlSvc dienen, die den Level von Servicemeldungen bestimmt.
Implementierung bekannt machen
Die Implementierung der Level-Auswertung muss dem System bekannt gemacht werden.
Legen Sie hierfür für jeden Prozess eine Umgebungsvariable an, die den Klassennamen enthält. Der Variablenname setzt sich aus dem Prozess-Identifier und dem String _ESC_LEV_EVL_CLS zusammen. Für Angebote wäre er beispielsweise PSA_PRO_QUO_ESC_LEV_EVL_CLS.
Ist die Klasse eine Javadatei, dann ist der Wert der Umgebungsvariablen der Klassenname inklusive Paketname. Sollte es sich um eine "dynamische" Java-Klasse handeln, dann ist der Wert ein $-Zeichen, gefolgt von dem Namen des "Dynamischen Java"-Datensatzes.
Scanner für die Eskalation starten oder anlegen
Es muss ein Scanner laufen, der in regelmäßigen Abständen die Levels überprüft. Dieser Scanner ruft dann für jedes Objekt die Implementierung der Level-Auswertung auf.
Starten Sie für Vorgänge den Job ESC_LEV_TST.
Sollte eine Eskalation für Kontakte gewünscht sein, legen Sie ein Datenobjekt an, das genauso wie PSA_ESC_LEV_PRO_OPN die Kontakte liefert, bei denen ein Eskalationslevel definiert ist. Erzeugen Sie dann einen Scanner (ähnlich wie ESC_LEV_TST), dem dieses Datenobjekt sowie die Information über die Kontaktbeziehung übergeben wird.