Attention: The instructions below are about customizing objects, which can only be carried out by a JustRelate CRM customizer.
Installating escalation management for other processes
Steps
- Display escalation level tab in the form.
- Display escalation level and escalation picture.
- Define level and actions in the process definition.
- Provide implementation for determining the level.
- Make implementation known via the environment variables.
- Start the scanner, or create a new one and start it.
Adapt the interface
In the interface, some adaptations need to be made, so that the escalation levels can be displayed.
In forms containing objects with possible escalation levels, the PSA_ESC_LEV_SCI tab must be inserted. This tab then displays the levels that are defined for the object as well as the corresponding actions for every level. For associating the object with the level dialog, PRO_ESC is used for cases and CON_ESC for contacts.
The current level can also be displayed in the mask. For this, there are two fields, ESC_LEV and ESC_PIC for cases. Both are defined in the PSA_PRO_STR class and contain the current level as a number and as an image. There are no equivalent fields for contacts. They therefore must be added through customizing.
Define the level
In the process definition, any number of levels with several actions can be defined for every process.
To define a new level, insert a new data record in the escalation tab and assign a level value, a speaking name and a standard action. The parameter then depends on the implementation of the evaluation algorithm.
For every level, also contacts or roles need to be specified. Every contact can receive an action deviating from the standard.
Implementation of the level analysis
For every sales case that provides escalation management, an implementation that determines the current level for a record must exist.
This class must implement the interface de.pisa.psa.scn.PsaEscLevEvl, or extend the class de.pisa.psa.scn.PsaEscLevEvlImp. The getNewLev method is called for every record that has an escalation level defined. The method returns an object of the EvlRes type and contains information about the current level, and the information the calling method is to continue to work with.
This class can either be a "real" Java class in the form of a file, or be added as a "dynamic" Java class to the repository.
The PsaEscLevEvlSvc class may serve as an example. It determines the level of service calls.
Make the implementation known
The implementation of the level analysis must be made known to the system.
For this, create an environment variable containing the class name for every process. The variable name consists of the process identifier and the string _ESC_LEV_EVL_CLS. For offers, for example, it would be PSA_PRO_QUO_ESC_LEV_EVL_CLS.
If the class is a Java file, the value of the environment variables is the class name, including the package name. Should it be a "dynamic" Java class, then the value is a $ character, followed by the name of the "dynamic Java" record.
Start or create a scanner for the escalation
A scanner must be running that checks the level at regular intervals. This scanner then calls the implementation of the level analysis for every object.
For cases, launch the ESC_LEV_TST job.
Should an escalation for contacts be desired, create a data object that delivers the contacts in which an escalation level is defined, just like PSA_ESC_LEV_PRO_OPN. Then, generate a scanner (similar to ESC_LEV_TST) to which this data object and the information about the contact relation is passed.