This chapter covers the following topics:
An escalation is a process used to highlight or flag certain issues within an organization, so that the appropriate personnel can react to these situations and monitor the resolutions. A reactive escalation is in response to a customer complaint. Necessary action must be taken in response to the situation. This includes manually assigning escalation resources through Escalation Manager.
The first step in implementing Escalation Manager is to set the following profile options:
Name | Default Value | Level | Description | Outcome |
---|---|---|---|---|
Escalation: Close Only When De-escalated | Yes | Site | The escalation document cannot be closed (you cannot set up the escalation status to 'Close') without first changing the Escalation Level to 'De-escalated'. | If set to Yes, then it can regulate the escalation status change sequence from De-escalated to Close. If set to No, then it will not. |
Escalation: Default Contact Type | Employee | Site | Sets the default contact type to Employee in the Contacts tab. | You can also set it to Customer, and then it will default the contact type to Customer. |
Escalation: Default Escalation Owner | Name | Site | Sets the default escalation owner to a specific resource name, such as John Smith. | See description. |
Escalation: Default Customer Contact Point | Phone | Site | Sets the default customer contact point to Phone in the Contacts tab. | You can also set it to other values such as Cell, Email, Pager, or Web. |
Escalation: Default Document Type | Task Manager | Site | Sets the default document type to Task in the Document field on the Reference Document tab. | You can also set it to other values such as Service Request or Defects. |
Escalation: Default Employee Contact Point | Work | Site | Sets the default employee contact point to Work in the Contacts tab. | You can also set it to other values such as Home, Mobile, or Pager. |
Escalation: Default Escalation Level | Level 1 | Site | Sets the default escalation level to Level 1. | You can also set it to other values such as Never Escalated, Level 2, or De-Escalated. |
Escalation: Default Status | Open | Site | Sets the default escalation Status field to Open. | You can also set it to other values such as Closed or Working. |
Escalation: Default New Note Type | General Note | Site | Sets the default note type to General Note if additional notes are attached to an escalation document. | You can also set it to other values such as Event or Approved. |
Escalation: Default Notify (Y/N) | Yes | Site | Sets the default Notify check box to "checked" in the Contacts tab. | You can also set it to No, which will leave the check box "unchecked" in the Contacts tab. |
Escalation: Default Reason Code | Slow Progress | Site | Sets the default escalation Reason field to Slow Progress. | You can also set it to other values such as Unacceptable Solution, or Unresponsive Owner. |
Escalation: Default Reference Type | Escalation | Site | Sets the default escalation reference type to Escalation in the Reference Document tab. | You can also set it to other values such as For Your Information. |
The next implementation step is to start the following background workflow process to ensure proper operation of Escalation Manager.
Workflow Name: JTFEC
Description: Reactive Escalation Notification
User: Escalation Manager
Leave the Minimum Threshold and Maximum Threshold fields empty.
Select Yes for both the Process Deferred and the Process Timeout fields.
Warning: Be sure to define an end time. If the end time field is blank, then the process runs indefinitely and cannot be shut off.
In the Rerun Every fields, enter the number of minutes that defines the interval between job runs.
Select From the Completion of the prior run box.
You must set up Notifications in Oracle Workflow to ensure that notifications are sent.
Another required task in implementing Escalation Manager is to set lookup codes. The codes define the level, reason, contact type, and reference of an escalation. Escalation reasons are used to specify why a source document is escalated.
First set up the escalation reason code and enable it in the Application Object Library: Escalation Reasons Lookups window. Then, as a task or document is escalated, users can select this reason code from the list of values for the Reason field in the Escalations window.
JTF_TASK_ESC_LEVEL
The following table describes lookup code JTF_TASK_ESC_LEVEL, which describes escalation levels.
Code | Description |
---|---|
DE | De-escalated |
L1 | Level 1 |
L2 | Level 2 |
NE | Never escalated |
JTF_TASK_REASON_CODES
The following table describes lookup code JTF_TASK_REASON_CODES, which describes escalation reasons.
Code | Description |
---|---|
Slow-ProG | Slow Progress |
Unacceptable_Solution | Unacceptable Solution |
UNRES_OWN | Unresponsive Owner |
IMP_FAILING | Implementation Failing |
JTF_TASK_CONTACT_TYPE
The following table describes lookup code JTF_TASK_CONTACT_TYPE, which describes contact types.
Code | Description |
---|---|
CUST | Customer |
EMP | Employee |
JTF_TASK_REFERENCE_CODES
The following table describes lookup code JTF_TASK_REFERENCE_CODES, which describes reference codes for the task.
Code | Description |
---|---|
ESC | Escalation |
FYI | For Your Information |
There are three pre-defined Escalation Statuses:
Open
Working
Closed
You may add your own user-defined statuses to these available statuses. Perform the following steps to add user-defined statuses.
The following table describes flags and definitions.
Flag | Description |
---|---|
Assigned | Assigned to an individual |
Working | In progress |
Schedulable | Scheduled or re-schedulable |
Accepted | Accepted by owner |
Rejected | Rejected by owner |
On Hold | Temporarily not active |
Approved | Approved by management |
Completed | Completed by owner |
Cancelled | Cancelled by owner, creator, or management |
Delete Allowed | Delete acceptable without cancellation |
Closed | Completed and closed |
Seeded | Pre-defined task status |
Steps
As the CRM Administrator, select Task and Escalation Manager > Setup > Define Escalation Status.
Enter a user-defined status in a blank field in the Status column.
Enter a brief description of the status type in the Description field.
Enter the effective dates in the From and To fields.
Select escalation status flags.
Click the Save icon to finish defining the Escalation status.
A document or task can be combined with several other documents or tasks, such as when fulfilling a service request requires a series of tasks to be performed and related documents to be completed. In such a scenario, if one particular document or task needs to be escalated, the escalation might not apply to the other related items.
When you associate an Escalation Reference to the escalated item, you point to the other related items and indicate their relation. There are two pre-defined Escalation Reference types: FYI and Escalation.
Use FYI (for your information) to indicate the task or document is related to the escalated item, but is not escalated.
Use Escalation to indicate the task or document is related to the escalated item and also is escalated.
You can add other Escalation Reference types to your escalation references. Use the following procedure to define customized reference types.
Steps
As the CRM Administrator, select Task and Escalation Manager > Setup > Define Reference Type.
The Application Object Library: Reference Codes for the Task Lookups window opens.
Enter the name of the new reference type in the first available row in the Code column.
Continue entering information in the remaining cells of the row to describe the escalation reference type and the effectivity dates.
Select the Enabled Check Box to make the escalation reference type available.
Save the new Escalation Reference and close the form.
You can add other escalation Reason Codes to customize your escalation reasons. Use the following procedure to define customized reason types.
Steps
Select Task and Escalation Manager > Setup > Define Escalation Reason.
The Application Object Library: Escalation Reasons Lookup window opens.
Select the first blank line.
Enter a code, meaning, and description.
Enter the effective dates in the From and To fields.
Select the Enabled flag.
Click the Save icon to finish defining the Escalation reason.
Escalation Manager publishes events such as creating, updating, and de-escalating an escalation using the Oracle Workflow Business Event System. Applications that contain data directly affected by these events can subscribe to them and synchronize or modify their data accordingly. For example, if a support team uses Escalation Manager to escalate urgent or high profile support calls and one of these has been de-escalated, then this action is published or "raised" as a business event. The support team can consequently subscribe to this event and reassign support staff to escalated problems.
The Oracle Workflow Business Event System is an application service that leverages the Oracle Advanced Queuing (AQ) infrastructure to communicate business events between systems. The Business Event System consists of the Event Manager and workflow process event activities.
The Event Manager contains a registry of business events, systems, named communication agents within those systems, and subscriptions indicating that an event is significant to a particular system. Events can be raised locally or received from an external system or the local system through AQ. When a local event occurs, the subscribing code is executed in the same transaction as the code that raised the event, unless the subscriptions are deferred.
When an escalation or its corresponding reference is created, updated or deleted, the Escalation Manager APIs call wrapper APIs that raise the following events:
Functional Name | Event name | Description |
---|---|---|
Create_Escalation | oracle.apps.jtf.cac.esc.createEscalation | Raises an event once for a newly created escalation. |
Update_Escalation | oracle.apps.jtf.cac.esc.updateEscalation | Raises an event once when any attribute for an escalation is changed. |
Delete_Escalation | oracle.apps.jtf.cac.esc.deleteEscalation | Raises an event once when an escalation is deleted, and raises a Delete Escalation Reference Event once for each row in the references table. |
Create_Reference | oracle.apps.jtf.cac.esc.createEscReference | Raises an event once for a newly created escalation reference. |
Update_ Reference | oracle.apps.jtf.cac.esc.updateEscReference | Raises an event once when any attribute for an escalation reference is changed. |
Delete_ Reference | oracle.apps.jtf.cac.esc.deleteEscReference | Raises an event once when an escalation reference is deleted |
For each Escalation Manager event, the owner name is Escalation Manager, the owner tag is JTF and the default status is Enabled. Subscribers must use the event name for subscription purposes. The event key is generated by the concatenation of the following:
<<EVENT_NAME>>
Value of the sequence JTF_ESC_WF_EVENTS_S
The following subscriptions are seeded:
Function jtf_ec_workflow_pkg.create_esc_notif_subs is subscribed to event oracle.apps.jtf.cac.esc.createEscalation.
Function jtf_ec_workflow_pkg.update_esc_notif_subs is subscribed to event oracle.apps.jtf.cac.esc.updateEscalation.
The following table contains published attributes for the parameters used to create, update, and delete escalations. Yes indicates that an attribute is published and No indicates that it is not.
Parameter Name | Create_Esc | Update_Esc | Delete_Esc |
---|---|---|---|
TASK_ID | Yes | Yes | Yes |
TASK_AUDIT_ID | No | Yes | No |
Note: The value for the TASK_AUDIT_ID parameter is included in the preceding table , for subscribers to determine the remaining fields that are not published from the audits table.
The following table contains published attributes for the parameters used to create, update, and delete escalation references. Yes indicates that an attribute is published and No indicates that it is not.
Attribute | Create_EscReference | Update_EscReference | Delete_EscReference |
---|---|---|---|
TASK_REFERENCE_ID | Yes | Yes | Yes |
REFERENCE_CODE | Yes | Yes | Yes |
OBJCT_TYPE_CODE | Yes | Yes | Yes |
OBJECT_ID | Yes | Yes | Yes |
OLD_REFERENCE_CODE | No | Yes | No |
OLD_OBJCT_TYPE_CODE | No | Yes | No |
OLD_OBJECT_ID | No | Yes | No |
When an escalation is created, the parameter is not set on the list, if the null value is inserted into the column. As a result, the API WF_EVENT.GetValueForParameter returns a NULL value.
When an escalation is updated, the parameter is not set on the list, if the value of the parameter is not changed. As a result, the API WF_EVENT.GetValueForParameter returns a NULL value.
Perform the following to raise a buisness event using the jtf_esc_wf_events_pvt.publish_create_esc wrapper API:
Steps
Add the following parameter into the parameter list using wf_event.AddParameterToList only if they are NOT NULL:
ESCALATION_ID
Event_key will be 'oracle.apps.jtf.cac.esc.createEscalation-'||jtf_esc_wf_events_s.nextval.
Raise the Event oracle.apps.jtf.cac.esc.createEscalation using the workflow API, Wf_event.Raise.
Perform the following to raise a business event using the jtf_esc_wf_events_pvt.publish_update_esc wrapper API:
Steps
Add the following parameters' old and new values into the parameter list using, wf_event.AddParameterToList only if they are changed.
ESCALATION_ID
ESCALATION_LEVEL
TASK_AUDIT_ID
Event_key will be 'oracle.apps.jtf.cac.esc.updateEscalation-'||jtf_esc_wf_events_ s.nextval.
Raise the Event oracle.apps.jtf.cac.esc.updateEscalation using the workflow API, Wf_event.Raise.
Perform the following to raise a business event using the jtf_esc_wf_events_pvt.publish_delete_esc wrapper API:
Steps
Add the following parameters into the parameter list using, wf_event.AddParameterToList
ESCALATION_ID
Event_key will be 'oracle.apps.jtf.esc.cac.deleteEscalation-' || jtf_esc_wf_events_ s.nextval.
Raise the Event oracle.apps.jtf.cac.esc.deleteEscalation using the workflow API, Wf_event.Raise.
Perform the following to raise a business event using the jtf_esc_wf_events_pvt.publish_create_escref wrapper API:
Steps
Add the following parameters into the parameter list using, wf_event.AddParameterToList only if they are NOT NULL
ESC_REFERENCE_ID
OBJECT_TYPE_CODE
REFERENCE_CODE
OBJECT_NAME
OBJECT_DETAILS
Event_key will be 'oracle.apps.jtf.cac.esc.createEscReference-'||jtf_esc_wf_events_s.nextval.
Raise the Event oracle.apps.jtf.cac.esc.createEscReference using the workflow API, Wf_event.Raise.
Perform the following to raise a business event using the jtf_esc_wf_events_pvt.publish_update_escRef wrapper API:
Steps
Add the following parameters' old and new values into the parameter list using, wf_event.AddParameterToList only if they are changed.
TASK_REFERENCE_ID
OBJECT_TYPE_CODE
REFERENCE_CODE
OBJECT_NAME
OBJECT_DETAILS
OLD_OBJECT_TYPE_CODE
OLD_REFERENCE_CODE
OLD_OBJECT_NAME
OLD_OBJECT_DETAILS
Event_key will be 'oracle.apps.jtf.cac.esc.updateEscReference-'||jtf_esc_wf_events_ s.nextval.
Raise the Event oracle.apps.jtf.cac.esc.updateEscReference using the workflow API, Wf_event.Raise.
Perform the following to raise a business event using the jtf_esc_wf_events_pvt.publish_delete_escRef wrapper API:
Steps
Add the following parameters into the parameter list using, wf_event.AddParameterToList:
TASK_REFERENCE_ID
Event_key will be 'oracle.apps.jtf.cac.esc.deleteEscReference-' || jtf_esc_wf_events_ s.nextval.
Raise the Event oracle.apps.jtf.cac.esc.deleteEscReference using the workflow API, Wf_event.Raise.