Siebel CRM Assignment Manager Administration Guide Siebel Innovation Pack 2017, Rev. A E24725-01 |
|
![]() Previous |
![]() Next |
View PDF |
Dynamic assignment is a feature that works transparently as existing records change or new records are created. For example, you can set up dynamic assignment to automatically assign a service request to an owner when a new record is created or reassign a service request to another owner if the service request is updated.
Dynamic assignment is especially useful in a deployment where users and server programs make frequent changes to the assignment object records (such as service requests and activities), because dynamic assignment can automatically determine the changes and assign the objects to the appropriate people and organizations.
The dynamic assignment process uses the underlying database triggers feature. When a record is modified, either by a user or by another server process like EAI, workflow, and so on, the database trigger (set up by the Generate Triggers component) captures the changes, and queues the assignment request into the S_ESCL_REQ (escalation request) table. The Workflow Monitor Agent then polls the S_ESCL_REQ table periodically and assigns the object by internally invoking Siebel Assignment Manager within its own process.
Note: When the Assignment Policy Action is set to Assignment Request (In Process), the Server Request Broker and the Assignment Manager components are not explicitly used in dynamic assignment. |
Requirements for dynamic assignment are that:
Triggers are generated using Generate Triggers component
Workflow Monitor Agent is running
Assignment policies are set and activated
(Optional) If you are using skills, then make sure that the MaxSkillsAge parameter is set to a value greater than 0 seconds
Note: Dynamic assignment can refresh employee, position, and organization skills from the database if changes are made to these items. The MaxSkillsAge parameter, if defined, forces Assignment Manager to reload this information. By default, this parameter is not set. For more information about MaxSkillsAge, see "Modifying the Siebel Assignment Manager Component Parameters". |
To run dynamic assignment, a Workflow Monitor Agent task must be running. Workflow Monitor Agent detects when a user changes data related to objects. For more information about Workflow Monitor Agent, see Siebel Business Process Framework: Workflow Guide.
The Generate Triggers component generates the database triggers used by Workflow Manager to detect changes. Generate Triggers reads the Siebel repository definitions for Workflow Policy Object and Assignment Object and generates the appropriate database triggers to monitor changes.
This topic is part of "Running Dynamic Assignment".
You run dynamic assignment only in default mode, which means that all active rules are loaded and processed. Rule group mode is not supported.
To set up dynamic assignment, perform the following tasks:
(Optional) "Reviewing Triggers for Dynamic Assignment"
Generating triggers, using either of the following procedures:
The database triggers created by the Generate Triggers component detect record changes in the Siebel database and place an assignment request in the S_ESCL_REQ (escalation request) table for the Workflow Monitor Agent to pick up the request and invoke the Assignment Manager. However, triggers generated for Assignment Manager can reference other database columns not associated with assignment rules.
Caution: Make sure that triggers are generated only for an assignment policy's criteria. Large data loads can experience performance issues otherwise. |
Do not modify the database triggers. However, before generating or applying triggers for dynamic assignment, you might want to review the trigger.sql file. It is recommended you work with your database administrator to do so.
Note: If you discover redundant triggers, then you must deactivate the appropriate assignment criteria and assignment attribute using Siebel Tools. |
Complete the steps in the following procedure to review triggers for dynamic assignment. This task is a step in the "Process of Running Dynamic Assignment".
To review triggers for dynamic assignment
Use Siebel Tools, or view the trigger.sql file (SIEBSRVR_ROOT
/trigger.sql
), to examine the appropriate table columns.
For more information about using Siebel Tools, see Using Siebel Tools.
Disable the inappropriate columns by inactivating the assignment attribute column.
For detailed information, see "About the Relationship Between Attributes and Skills".
If you inactivate only the assignment attribute column and leave the assignment attribute and assignment criteria active, then the assignment criteria appears in the user interface in the assignment administration views, which means that you can create assignment rules based on that criteria. The following is the result of this action based on whether or not the Employee Skill field is checked:
If the Employee Skill field is checked, then the assignment criteria is skill-based and, as such, continues to work for assignment rules. For example, the criteria works if you run batch assignment because that mode does not rely on triggers.
If the Employee Skill field is not checked, then the assignment criteria is object-based, and as such, relies on a valid assignment attribute column configuration. If you attempt to create assignment rules, then you get an error message when the task is run.
Drop and regenerate new triggers.
See "Generating Triggers for Dynamic Assignment Using the GUI"
Recheck the trigger.sql file, to confirm that the trigger is no longer active.
Note: When dynamic assignment is running, due to the database concurrency feature, some users might receive the following error when attempting to modify a record:The selected record has been modified by another user since it was received. Please continue. This result can occur because Assignment Manager updated the record by assigning it while a user was trying to edit it. In this situation, the user's changes might be lost. The solution is to refresh the query and reenter the changes. |
Use the Generate Triggers component to generate the database triggers used by Workflow Manager to detect changes in the database.
For dynamic assignment, you must run the Generate Triggers component after:
Creating or changing an Assignment Object, Assignment Attribute, or Assignment Criteria object type in Siebel Tools
Changing assignment policies
Installing or upgrading the Siebel Server
Tip: When amending an assignment rule, criteria, or value, or when making changes to assignment positions in dynamic mode, you do not have to drop and regenerate database triggers. |
Complete the steps in the following procedure to generate triggers for dynamic assignment using the GUI. This task is a step in the "Process of Running Dynamic Assignment".
To generate triggers for dynamic assignment using the GUI
Navigate to the Administration - Server Management screen, and then the Jobs view.
In the Jobs list, click New.
A new record appears with a system-defined ID automatically generated with a status of Creating.
In the Job Detail subview, enter the relevant information for the new component job record.
In the Requested Server field, type the name of the Siebel Server for which you want to run Generate Triggers.
In the Request Key field, enter the name of the request key.
Complete the rest of the fields, if needed.
In the Job Parameters list, click New to create a new record for the Privileged User, and enter the relevant parameter information.
In the Name field, click the select button.
In the Job Parameters dialog box, query for PrivUser, and then click OK.
In the Value field, enter the privileged user name.
Note: If you are using a Microsoft SQL Server database, then you must set the Privileged User Password value to the user password with tableowner privileges. Also make sure that the Table Owner value is set todbo . |
In the Job Parameters list, click New to create a new record for the Privileged User Password, and enter the relevant parameter information.
In the Name field, click the select button.
In the Job Parameters dialog box, query for PrivUserPass, and then click OK.
In the Value field, enter the privileged user password.
In the Jobs List, click the Start button.
For more information about generating database triggers, see Siebel Business Process Framework: Workflow Guide.
You can run dynamic assignment using by running the Generate Triggers component from the Server Manager command-line interface (srvrmgr), using the parameters described in Table 9-4.
For more information about using the Server Manager command-line interface, see Siebel System Administration Guide.
This task is a step in the "Process of Running Dynamic Assignment".
Table 9-4 Generate Triggers Parameters
Parameter Name | Display Name | Description | Default Value |
---|---|---|---|
EXEC |
Install Triggers to DB directly |
FALSE |
|
Mode |
Assignment Manager and (or) Workflow mode (ASGN, WORK, or ALL) |
ALL |
|
Remove |
Remove All Triggers Mode |
FALSE |
|
TAMode |
All Territory or Contact Only mode |
ALL |
|
Trigger File Name |
Output trigger script file name |
trigger.sql |
To run dynamic assignment, the Workflow Monitor Agent server component (WorkMon) needs to be running. This server component monitors the S_ESCL_REQ table. Database triggers, when fired because of object changes, create records in the S_ESCL_REQ table. The Workflow Monitor Agent reads these new records and processes requests for Assignment Manager policies. Affected objects are then dynamically assigned.
Note: Dynamic assignment does not log information into the S_ESCL_LOG table. For more information about log files, see Siebel System Monitoring and Diagnostics Guide. |
Complete the steps in the following procedure to start workflow monitor agent from the Server Manager command-line interface (srvrmgr). This task is a step in the "Process of Running Dynamic Assignment".
To start Workflow Monitor Agent from the Server Manager command-line interface
Determine the workflow group that you want Workflow Monitor Agent to monitor.
Navigate to the Administration - Assignment screen, and then the Assignment Policies view.
In the Policy Group field in the Assignment Policies list, choose the workflow group (the default group is Assignment Group).
Start the srvrmgr program.
For detailed information on this task, see Siebel System Administration Guide. After the program starts, the prompt changes to:
srvrmgr: server_name>
At the prompt, enter the following information to start the Workflow Monitor Agent server component task; use the Group information gathered from Step 1 (Assignment Group used in this example):
start task for component workmon with GroupName="Assignment Group"
Configure other component parameters, if needed.
For more information about other configurable parameters, see Table 9-5.
Note: Separate the parameters and their values in the command-line statement with commas. |
Alternatively, you can configure a Workflow Monitor Agent to start automatically to process assignment requests whenever the Siebel Server starts.
For more information about Workflow Monitor Agent, see Siebel Business Process Framework: Workflow Guide.
This command starts a new task running in the background and returns to the Server Manager immediately.
Note: It is possible to set up multiple Workflow Monitor Agents for dynamic assignment. For more information about setting up multiple Workflow Monitor Agents, see the information about starting Workflow Agent processes automatically with Siebel Server, in Siebel Business Process Framework: Workflow Guide. |
Table 9-5 shows the Workflow Monitor Agent parameters.
Note: The Action Interval parameter has no effect on assignment policies, where Workflow Monitor Agent was started in the Administration - Assignment screen, and the Assignment Policies view, with the group Assignment Group. This parameter applies only to workflow policies created in the Administration - Business Process screen, and the Workflow Policies view. If you require this parameter, then invoke Assignment Manager through the Synchronous Assignment Manager Requests business service from within a workflow process. For more information, see "How Siebel Assignment Manager Uses Server Key Mappings to Load Rules to a Particular Siebel Server". See also Siebel Business Process Framework: Workflow Guide and 1582117.1 (Article ID) on My Oracle Support. |
Table 9-5 Workflow Monitor Agent Parameters
Parameter Name | Alias | Description | Default Value |
---|---|---|---|
Action Interval |
Do not reexecute actions within specified interval in minutes. Note: This parameter applies only to workflow policies, not to assignment policies. |
3600 |
|
Cache size of Policy violations |
Number of policy violations to store in cache |
100 |
|
Cache size of last user information |
Number of last user information items to cache |
100 |
|
Group Name |
Group Name |
Not applicable |
|
Ignore errors |
Ignore errors while processing requests |
FALSE |
|
Mail Server |
Name of email server to send notification of abnormal termination |
Not applicable |
|
Mailing Address |
Email address to review notification of abnormal termination |
Not applicable |
|
Number of days to keep violation information |
Number of days worth of violation information that should be retained |
30 |
|
Number of seconds to retry |
Number of seconds to retry sending a Generic Request message |
120 |
|
Processes the batch Policies |
Process the batch policies |
FALSE |
|
Reload Policy |
Reload Policy Interval, in seconds |
600 |
|
Request delete size |
Request delete size |
500 |
|
Requests per iteration |
Requests per iteration |
5000 |
|
Sleep Time |
Time to sleep between iterations (in seconds), that is, is the frequency of time the Workflow Monitor Agent polls the S_ESCL_REQ table (escalation request table) and assigns rows. For example, if SleepTime is set to 60 seconds, then the Workflow Monitor Agent polls the S_ESCL_REQ table, then waits 60 seconds before it polls it again. |
60 |
|
Use Action Agent |
Use Action Agent |
FALSE |
For more information about starting, stopping, and monitoring server tasks, see Siebel System Administration Guide. For more information about the Workflow Monitor Agent, see Siebel Business Process Framework: Workflow Guide.
This topic is part of "Running Dynamic Assignment".
If users experience slow response time while running Siebel Assignment Manager in dynamic mode, then you can implement one or more of the following to improve dynamic assignment performance:
Increase the Requests (Requests per iteration) workflow monitor parameter (the default is set to 5,000).
Decrease the SleepTime workflow monitor parameter (the default is 60 seconds).
Increase the ReloadPolicy workflow monitor parameter to a much larger number, for example, 86,400 seconds (the default is 600 seconds).
Distribute each assignment policy into its individual group and then invoke several Workflow Monitor Agents concurrently (one on each Siebel Server, if available).
This topic is part of "Running Dynamic Assignment".
For dynamic assignment, if you want to run Siebel Assignment Manager in contact denormalization mode, then you must activate the Contact Denormalization assignment policy. By default, this policy is inactive.
Note: When Assignment Manager runs in contact denormalization mode, it does not evaluate assignment rules. Therefore, you do not have to select the Contact Denormalization object for the assignment rule to run Assignment Manager in contact denormalization mode. |
Use the following procedure to activate contact denormalization for dynamic assignment.
To activate contact denormalization
Navigate to the Administration - Assignment screen, and then the Assignment Policies view.
In the Assignment Policies list, select Contact Denormalization, and then perform the following:
In the Policy Group field, click the select button.
In the Workflow Groups dialog box, select a workflow group (the default is Assignment Group), and then click OK.
In the Expiration field, either clear the existing value or set the value to a later date.
Note: If running batch assignment, then you do not have to activate this policy. |