Task Methods
In this section, we discuss the task class methods. The methods are discussed in alphabetical order.
Syntax
Close(Comment)
Description
Use the Close method to close the task. Only use this method with overflowed or escalated tasks.
Note: This method does not resubmit the task. Use the Enqueue method to resubmit the task, then use this method to close it.
Parameters
Field or Control |
Definition |
---|---|
Comments |
Specify any comments you want associated with this closed task. You can specify
a null value |
Returns
None.
Syntax
Enqueue(LogicalQueueID,AgentID, Timeout, ResponseTime, Cost, Priority, MinSkill)
Description
Use the Enqueue method to add a task to the logical queue that the task was first assigned to. Every task enters the universal queue by being assigned to a logical queue.
Considerations Specifying Time
If no value (zero) is provided for the time parameters (such as Timeout or ResponseTime) the Timeout or ResponseTime properties from the task are used, respectively. This may cause the time to never occur as it creates a moving deadline. To avoid such a problem the time can be calculated for each task prior to enqueue as shown below.
Note: This logic is not included in the task's enqueue function, so as to allow you the choice for how you want your application to handle this situation.
&Utilobj = create Util();
&CurrentTask = create Task(&Task_Number);
&TimeDelta = &Utilobj.GetTimeDiff(¤ttime, &CurrentTask.EscalationTime) / 60;
&AgentAcceptTime = &Utilobj.GetTimeDiff(&CurrentTask.EnqueueTime, &CurrentTask.OverFlowTime) / 60;
If AddToDateTime(¤ttime, 0, 0, 0, 0, &AgentAcceptTime, 0) >= &CurrentTask.EscalationTime Then
If &TimeDelta > 0 Then
&AgentAcceptTime = &TimeDelta;
Else
/* The current time already exceeds the Escalationn time*/
End-If;
End-If;
Parameters
Field or Control |
Definition |
---|---|
LogicalQueueId |
Specify
the logical queue that you want to add this task to, as a string.
You can specify a null value |
AgentID |
Specify
the agent ID for this task, as a string. You can specify a null value |
Timeout |
Specify the time out period for this task as a number of minutes. You can specify a zero for this parameter. If no value is provided, the Timeout property of the task is used. The acceptance timeout is the period of time that an agent has to accept an assigned task (click on the flashing icon on the MultiChannel console). If the task is not accepted within this time, the task is re-enqueued. |
ResponseTime |
Specify the response time for this task as a number of minutes. You can specify a zero for this parameter. If no value is provided, the ResponseTime property of the task is used. The response time refers to the when a task should be completed by in order to satisfy customer contracts (such as, a platinum customer who requires a response in one day for a email. If by the end of 24 hours the task is not completed, it is escalated or the response time is exceeded.) |
Cost |
Specify the cost of this task as a number. You can specify a zero for this parameter. This is the cost of the task as set by the application when the task was enqueued. If no cost is set at that time, then the default cost is used. |
Priority |
Specify the priority of the task as a number. One is the lowest possible priority. Higher numbers indicate high priorities. If no priority is set, the default priority for the task is used. |
MinSkill |
Specify the minimum skill level required to do this task, as a number. You can specify a zero for this parameter. |
Returns
None.
Example
&CurrentTask = create Task(&Task_Number);
&CurrentTask.Enqueue(&CurrentTask.PhysicalQueueID, "", &AgentAcceptTime, &TaskCompleteTime, &CurrentTask.Cost, &CurrentTask.Priority, &CurrentTask.SkillLevel);
Syntax
Refresh()
Description
Use the Refresh method to refresh the task properties. If you only want to refresh the status, use the RefreshStatus method.
Parameters
None.
Returns
None.
Example
The following refreshes all the properties of the task:
&MyTask.Refresh();
Syntax
RefreshStatus()
Description
Use the RefreshStatus method to refresh only the status of the task. If you want to refresh all the task properties, use the Refresh method.
Parameters
None.
Returns
None.
Example
The following refreshes the status of the task:
&MyTask.RefreshStatus();