Siebel Business Process Framework: Task UI Guide > Configuring Task UI > Editing Task Flows >
Associating Tasks with a Business Object Instance
You can use Task UI to support scenarios where a task is started and paused by one user, and then subsequently resumed by another user. For example, a task can be initiated by one call center agent, and paused when the customer needs to end the call. Then a different call center agent resumes the task when the customer calls back. You can configure this functionality by associating the task with a particular instance of a business object.
Supporting this usage scenario requires specific configuration of the task flow as described in this topic. It might also require customizing the user interface, as explained in the topic Configuring Ad-Hoc Views for Task Transfer.
To associate a task instance with a business component instance, you must invoke the Associate method of the Task Administration business service from the task instance. The Associate method requires the following arguments:
The Associate method must be invoked as early in the task as possible. For tasks that create new records that must be associated, this can be performed anywhere between the view that first validates the new record and the first subsequent commit step. The associated record can not be seen outside of the task before the task's transaction is committed.
For tasks updating an existing record, association with that record should be done before the first view in the task. In this case, the ObjectId parameter of the Associate method typically takes the value of the Context BC Id task property.
The Task Administration business service also provides a Disassociate method, which removes an existing association between the current task and the given business component record. This option is useful for cases where the record to be associated with the task is dependent on the selected branch of the task. In this case, disassociation should be included in the compensating part of the task flow.
NOTE: A task instance can be associated with any number of records of any type. The Task UI framework does not enforce constraints on the number or type of associations. For example, a particular task instance could be associated with a single account and three opportunities. However, associations consume computing resources, so they should not be created without an identified business need.
The Task UI framework caches associations until the current task is paused, at which time they are committed to the Siebel database and visible to other users. This behavior is a performance optimization to support the case where a task is never paused, or an association with a particular object is first created and then deleted before the first pause. This optimization is important primarily for Task UI developers debugging their configuration. Users do not notice any difference, because only paused tasks can be transferred.
This mechanism of associating tasks instances with business component records has the following limitation: tasks created by long running processes that were never started can not be associated with business objects. Such use cases must use either manual or automated escalation mechanisms to avoid deadlocks.