Go to primary content
Siebel CRM Assignment Manager Administration Guide
Siebel 2018
E24725-01
  Go to Documentation Home
Home
Go To Table Of Contents
Contents
Go To Index
Index

Previous
Previous
 
Next
Next
    View PDF

Running Dynamic Assignment

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:

Workflow Monitor Agent

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.

Generate Triggers

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.

Process of Running Dynamic Assignment

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:

  1. (Optional) "Reviewing Triggers for Dynamic Assignment"

  2. Generating triggers, using either of the following procedures:

  3. "Starting Workflow Monitor Agent for Dynamic Assignment Using the Server Manager Command-Line Interface"

Reviewing Triggers for Dynamic Assignment

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

  1. 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.

  2. 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.

  3. Drop and regenerate new triggers.

    See "Generating Triggers for Dynamic Assignment Using the GUI"

  4. 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.

Generating Triggers for Dynamic Assignment Using the GUI

Use the Generate Triggers component to generate the database triggers used by Workflow Manager to detect changes in the database.


Note:

You cannot create custom triggers on the Siebel database. The only supported triggers allowed on the Siebel database are those generated during installation or from running the Generate Triggers component.

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

  1. Navigate to the Administration - Server Management screen, and then the Jobs view.

  2. In the Jobs list, click New.

    A new record appears with a system-defined ID automatically generated with a status of Creating.

  3. In the Job Detail subview, enter the relevant information for the new component job record.

    1. In the Requested Server field, type the name of the Siebel Server for which you want to run Generate Triggers.

    2. In the Request Key field, enter the name of the request key.

    3. Complete the rest of the fields, if needed.

  4. In the Job Parameters list, click New to create a new record for the Privileged User, and enter the relevant parameter information.

    1. In the Name field, click the select button.

    2. In the Job Parameters dialog box, query for PrivUser, and then click OK.

    3. 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 to dbo.

  5. In the Job Parameters list, click New to create a new record for the Privileged User Password, and enter the relevant parameter information.

    1. In the Name field, click the select button.

    2. In the Job Parameters dialog box, query for PrivUserPass, and then click OK.

    3. In the Value field, enter the privileged user password.

  6. In the Jobs List, click the Start button.

For more information about generating database triggers, see Siebel Business Process Framework: Workflow Guide.

Generating Triggers for Dynamic Assignment Using the Server Manager Command-Line Interface

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

EXEC

Install Triggers to DB directly

FALSE

Mode

Mode

Assignment Manager and (or) Workflow mode (ASGN, WORK, or ALL)

ALL

Remove

Remove

Remove All Triggers Mode

FALSE

TAMode

TAMode

All Territory or Contact Only mode

ALL

TrigFile

Trigger File Name

Output trigger script file name

trigger.sql


Starting Workflow Monitor Agent for Dynamic Assignment Using the Server Manager Command-Line Interface

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

  1. Determine the workflow group that you want Workflow Monitor Agent to monitor.

    1. Navigate to the Administration - Assignment screen, and then the Assignment Policies view.

    2. In the Policy Group field in the Assignment Policies list, choose the workflow group (the default group is Assignment Group).

  2. 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>
    
  3. 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"
    
  4. 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.

  5. 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

ActionInterval

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

CheckLogCacheSz

Number of policy violations to store in cache

100

Cache size of last user information

LastUsrCacheSz

Number of last user information items to cache

100

Group Name

GroupName

Group Name

Not applicable

Ignore errors

IgnoreError

Ignore errors while processing requests

FALSE

Mail Server

MailServer

Name of email server to send notification of abnormal termination

Not applicable

Mailing Address

MailTo

Email address to review notification of abnormal termination

Not applicable

Number of days to keep violation information

KeepLogDays

Number of days worth of violation information that should be retained

30

Number of seconds to retry

GenReqRetry

Number of seconds to retry sending a Generic Request message

120

Processes the batch Policies

BatchMode

Process the batch policies

FALSE

Reload Policy

ReloadPolicy

Reload Policy Interval, in seconds

600

Request delete size

DeleteSize

Request delete size

500

Requests per iteration

Requests

Requests per iteration

5000

Sleep Time

SleepTime

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

ActionAgent

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.

About Tuning Dynamic Assignment for Performance

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).

Activating Contact Denormalization for Dynamic Assignment

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

  1. Navigate to the Administration - Assignment screen, and then the Assignment Policies view.

  2. In the Assignment Policies list, select Contact Denormalization, and then perform the following:

    1. In the Policy Group field, click the select button.

    2. In the Workflow Groups dialog box, select a workflow group (the default is Assignment Group), and then click OK.

    3. 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.