12Reference Materials for Siebel Task UI
Reference Materials for Siebel Task UI
This chapter describes reference information for Siebel Task UI. It includes the following topics:
Business Component Fields That a Task UI Can Modify
A task UI cannot modify the following types of business component fields:
Fields that use a multivalue group
Calculated fields
A task UI can do the following for a field that Siebel CRM defines as read-only at the business component level:
Use another field or a user property to read it.
Cannot modify it.
Updating a Field That Uses a Multi Value Group
To update a field that uses a multivalue group, you can define a business component for this field, and then use Siebel Tools to link the business component to the object. For example, the Account Team field uses a multivalue group, so you cannot use the Account business component to update it. You can create a business component named Account Team and then use Oracle’s Siebel Tools to reference it to the Account business object. You can then use a Siebel operation step to update the Account Team business component. For more information, see Configuring Siebel Business Applications.
About Task Transaction
This topic describes some of the features of task transaction.
Task transaction is a feature that allows you to configure Siebel CRM to keep data for a task instance separate from the base tables until it explicitly saves the task data to the Siebel database. Task transaction allows data in a task instance to last for an arbitrarily long amount of time while maintaining reliability, performance, and scalability. Task transaction includes the following features:
Task transaction data can persist only for a moment or it can last for days or months.
A task transaction that persists for a long time is typically an inbox record.
Task transaction data can span multiple user sessions, process boundaries, and database or application server restarts.
The Cancel operation stops a task transaction and rolls back the modifications that Siebel CRM saved before cancellation.
You can turn task transaction off at the business component level and at the task UI level. For more information, see Disabling Task Transactions.
Task transaction is dependent on a feature that resides on the Siebel Server that is external to the underlying Relational Database Management System (RDBMS).
For more information, see Configuring Siebel CRM to Resolve Task Transaction Conflicts.
Atomicity
Siebel CRM can save as a group the operations that it performs in a task UI or it can stop them. Atomicity is traditionally achieved using a transactional feature that is embedded in the RDBMS. However, this feature is not appropriate for a task transaction because it is limited to a single database connection that can result in the following problems:
Limits the duration of the transaction
Jeopardizes reliability of the Siebel system, performance, and scalability
Isolation
A modification that a user makes in a task transaction is visible only in this task transaction until Siebel CRM saves it. For example, an insert, update, or delete operation can perform a save operation. If Siebel CRM saves a modification that resides outside of the task transaction, then this modification is visible in the task transaction as soon as Siebel CRM queries the modified record again.
Transparent Storage
Siebel CRM dedicates a set of generic tables to store data modifications in the task transaction. It maps columns in the generic tables to columns in the Siebel database tables. This configuration hides the complexity of the storage details from the person who develops the task UI. However, you must configure Siebel CRM to clean up storage of a task transaction after it saves and ends this transaction. For more information, see Removing Temporary Data After a Task UI Finishes.
Transparent Data Retrieval
Siebel CRM merges the data that resides in task transaction storage with the data that resides in the Siebel database tables, and with complete support for data filtering. A search specification is an example of data filtering. Siebel CRM supports declarative data ordering only for a hierarchical business component. A sort specification is an example of declarative data ordering. For other configurations, ordering works as expected only when Siebel CRM does not modify data that resides in the task transaction.
Sharable Temporary Data
The Object Manager stores the data that the user creates or modifies during a task instance. It stores this data in temporary storage in a special database table but does not save it to the base tables until the user finishes the task or reaches a commit step. Sharable temporary data can include temporary data that spans multiple server components. A thread that is separate from the initiating application can pass the task instance ID to another server component, and then return the information from this other server component back to the task.
Siebel CRM starts and shares temporary storage in the following way:
If the Server Request Broker detects that the current Object Manager is running a task transaction, then it passes the task transaction ID to the server component that Siebel CRM called.
If the Object Manager in the server component detects the task transaction ID, then the Object Manager uses this ID to start the same task transaction. As a result, the session for the Object Manager gains access to the data in this task transaction. The Object Manager ends the task transaction before the server component thread ends.
The task controller uses a locking feature to handle the concurrency issue in the server component. It makes sure that no more than one transaction for each task UI is active at a time, regardless of how many threads Siebel CRM runs in the server component.
This solution can handle multiple server calls. For example, if a task UI calls a server component, and this server component then calls another server component, then these server components possess access to the same task transaction.
Example with Assignment Manager
Assume that a task UI must schedule a job. It does the following work to evaluate the skills and availability that an individual possesses, and then to assign and schedule the job:
A call center representative runs a task UI To handle a service request while on a phone call with a customer.
Siebel CRM passes the task instance ID of the task UI that the user runs to the Assignment Manager server component.
The Assignment Manager server component determines if a field service engineer is available.
The Assignment Manager server component returns this information to the task UI that the call center representative is running.
How Siebel CRM Shares Temporary Storage
Siebel CRM disables sharing of temporary storage, by default. To make this sharing available, you must define the TASKTEMPSTORAGESHARING task property with a data type of String. If you do not define this property, then Siebel CRM displays an error that indicates that it cannot access temporary storage.
An asynchronous call to the Server Request Manager cannot access temporary storage data even if sharing of temporary storage data is available.
Task Transaction and Task Instance
If the user, or if a long-running workflow process starts a task UI, then Siebel CRM creates a new task instance. The relationship that exists between a task instance and a task UI is similar to the relationship that exists between an object and a class in an object oriented programming language. Each task instance includes a state that consists of task properties and navigation history. Siebel CRM typically shares data that resides in the business object that the task references, except for data that resides in a transient business component, which is unique to a specific task instance. For more information, see Overview of Transient Data.
The duration of a task instance can coincide with the duration of the task transaction. However, the task instance might not use a task transaction, or it might use a series of task transactions through the use of intermediate commit steps.
A paused task UI is a task instance that Siebel CRM stores and that the user can resume from the inbox.
About Event Handling
A task event is a type of event that allows you to define the processing that Siebel CRM does when an operation in a task UI calls an event. The following operations support event handling:
Pause
Resume
Cancel
Delete
Complete
If Siebel CRM starts an operation in a task UI, then it calls a task event to handle the operation. The event handler for each operation performs the required action according to the semantics of each operation. A preevent handler is a type of handler that runs before Siebel CRM performs the operation for the handler, such as Resume, Pause, or Delete. Most handlers are preevent handlers.
For example, the Cancel operation includes two event handlers: a preevent handler and a postevent handler:
The PreCancel event handler runs when the user cancels a task UI and before the temporary storage data rolls back.
The PostCancel event handler starts after the PreCancel event handler runs and after Siebel CRM rolls back the temporary storage after the task finishes. For example, if the user clicks Finish or Submit, then the PostComplete event handler starts.
Siebel CRM does the following work to run an event handler that starts before the user starts the operation:
If the event handler succeeds, then the task controller finishes the operation that the user started.
If the event handler fails, then Siebel CRM stops the operation that the user started and returns the error to the object that called the event.
For more information, see Creating a Task Event and Siebel Object Interfaces Reference.
How Siebel CRM Handles an Event That Occurs in a Subtask
You cannot configure a subtask to reference an event handler. If a task UI calls a task event when the user is in a subtask, then Siebel CRM sends the task event to the parent task UI and runs the corresponding event handler that the parent task references. It runs this event handler in the context of the parent task.
Operations That Call an Event Handler
This topic describes operations that call an event handler.
Pause Operation
The Pause operation saves the following information in the Siebel database:
Task state and task instance.
An inbox item. The user can use this inbox item to restart the task instance.
Resume Operation
The Resume operation restores the state and history of a task instance and resumes a paused task instance. The user can click a Task inbox item in the Inbox Items List view to resume a task instance.
Cancel Operation
The Cancel operation stops the task transaction and rolls back the modifications that Siebel CRM saved before the user cancelled this task instance.
Events That the Cancel Operation Uses
The following table describes handling for the PreCancel and PostCancel events.
Table Handling for the Pre Cancel and Post Cancel Events
Event Type | Description | Usage |
---|---|---|
PreCancel |
Note the following:
|
You can configure Siebel CRM to use the Pre Cancel event handler in the following situations:
|
PostCancel |
Note the following:
|
You can configure Siebel CRM to use the Post Cancel event handler in the following situations:
|
Delete Operation
The Delete operation removes a task instance from the following items:
Inbox
Siebel database
If a parent task starts a task UI, then the subtask sends the parent task an Abort status. The task utility service creates this event.
Complete Operation
The Complete operation ends the task instance in the following situations:
The user clicks Finish or Submit.
Siebel CRM finishes the task instance automatically.
If the task finishes, then Siebel CRM starts the PostComplete event.
PostComplete Operation
The PostComplete operation allows the task UI to do more work after it finishes running. The following examples describe how Siebel CRM uses the PostComplete operation:
A user runs a task UI that updates an account record. If the user submits the modifications to the account, then Siebel CRM passes the modifications and information about who modified the record as inputs to a business service. This configuration creates an audit trail on the account record.
A task instance finishes running and, after submittal, a workflow process must run. This requirement makes sure no unwanted data exists. For example, a user can follow multiple paths in a task UI and create records in these paths. The user can navigate backward in the task UI and forward again down other paths. In this situation, a cleanup process that occurs at the end of the task session can eliminate unwanted data.
In these situations, it is important that the task instance finishes. The PostComplete event handler can handle a failure that occurs when Siebel CRM creates an audit trail or during cleanup. Siebel CRM does not abort this task instance.
About Event Logging
The event log collects information about different operations that occur while a task instance runs. It can print information that you can analyze. For more information, see Modifying How Siebel CRM Logs Data During Testing.
The table describes the following information:
Event types that are related toSiebel Task UI that Siebel CRM displays in the Event Configuration View.
Information about the events that Siebel CRM traces.
Information symbols that Siebel CRM displays in the log files to identify the events.Siebel Task UI shares some event symbols with Siebel Workflow.
The Log Level column indicates the minimum level that Siebel CRM uses to turn on tracing.
Table Event Logging for Siebel Task UI
Event Type | Level | Symbol | Information Symbol |
---|---|---|---|
Workflow Definition Loading |
3 |
DfnLoad |
Step. Steps and branch names that Siebel CRM loaded. |
5 |
DfnLoad |
Chapter. Chapter names that Siebel CRM loaded. |
|
Task Execution |
3 |
TskExec |
Oper. Includes information about various operations that the user performs during the duration of a task instance. Example operations include create, delete, pause, restore, instantiate, or cancel a task instance. |
5 |
TskExec |
Siebel CRM includes the following symbols:
|
|
Task Navigation |
3 |
TskNav |
Oper. Includes information about the navigation operations that the user performed in a task instance. |
4 |
TskNav |
NavPath. Includes information about modifications that occur to backward and forward navigation. Includes logs if Siebel CRM inserts a new frame or deletes a frame from backward or forward stacks. |
|
5 |
TskNav |
DumpStack. Dumps frames in the forward and backward navigation stacks after Siebel CRM restores or resumes a task instance. |
|
Workflow Process Execution |
4 |
PrcExec |
Create. Includes information about the creation of a new task instance. |
Workflow Step Execution |
4 |
StpExec |
Includes information about a task step and input argument or output arguments of the task step. The following symbols are included:
|
Task Presentation Information |
4 |
TskPresInfo |
Includes information that the task controller provides to an external component. SWE is an example of an external component. ViewInfo. Information about the entire structure of the task view, including the following items:
|
About Task Metrics
A task metric is a type of metric that collects and stores data about a task UI that Siebel CRM regularly saves to a data warehouse. You can use an online analytical processing (OLAP) tool, such as Oracle Business Intelligence, to analyze this data. You can collect timestamp metrics and property metrics. For more information, see Modifying How Siebel CRM Logs Data During Testing.
Timestamp Metrics
A timestamp metric is a type of metric that stores timestamps for a task UI. Siebel CRM requires the time when an event occurs so that it can measure the timeliness of a business process. For example, Siebel CRM requires the time a task starts and ends so that it can determine the amount of time that a user spends on a task.
If task metrics are turned on when you deploy a task UI, then Siebel CRM stores the following timestamps for the task:
Task Started
Task Paused
Task Resumed
Task Cancelled
Task Completed
The collection and persistence of these timestamps incur a minimal and finite performance and scalability overhead. Siebel CRM does not collect timestamp metrics at the step level because the affect on performance is not acceptable.
Property Metrics
A property metric is a type of metric that stores metrics for a task property. It allows you to collect data about a task UI whose source is a task property. You can define a property metric to satisfy the requirements to measure business performance. The following tables store data for property metrics:
S_WFA_ANLY_INFO
S_WFA_ANLY_PROP
S_WFA_ANLY_TS
S_WFR_PROC_MTRC