About Using External Components to Invoke Siebel Assignment Manager

You can make assignments by invoking Siebel Assignment Manager from within a Siebel workflow process, business service, or Siebel script interface.

Assignment Manager provides the ability of sharing inputs and outputs (supports rerouting of objects) with an external component. Assignment Manager can return qualified or assigned candidates along with their scores in the form of a hierarchical property set. A property set is a set of name-value pairs that are used by various Siebel components to pass information back and forth between them.

This feature is particularly useful in a workflow process. For example, a business service step in a workflow process might call on Assignment Manager (with the assignment mode set to Match) to evaluate potential candidates and return the set of qualified candidates in a property set along with their scores. Then, the workflow process can, based on other business logic, decide the set of candidates that are assigned.

Assignment Manager integration behavior is controlled by the Return Property Set parameter (ReturnPropSet). The following table lists the conditions for which Assignment Manager returns a property set or writes the results to the database.

AsgnMode

Writes to Database

Returns Property Set

Synchronous:Match

If ReturnPropSet is FALSE, then it writes to database

No property set returned

If ReturnPropSet is TRUE, then it does not write to database

Qualified candidates returned

Synchronous:Assign

Writes to database

No property set returned

Synchronous:MatchAssign

Writes to database

If ReturnPropSet is TRUE

Asynchronous

Writes to database

No property set returned

The following is the structure of the output property set that Assignment Manager returns from a synchronous request, given the input parameter AsgnMode is set to Match or MatchAssign.

-- The Output Property Set --

1. PropertyName: "ReqID",  Value: The request id Returned by SRM

2. Child Property Set

   Child Property Set Type: "Employee", Value: "Row_id"
      Name: "Score",  Value: Score of employee with highest score
      Name: "ID",     Value: Row_Id of the employee
   Child Property Set Type: "Employee", Value: "Row_Id"
      Name: "Score",  Value: Score of employee with 2nd highest score
      Name: "ID",     Value: Row_Id of the employee
   Child Property Set Type: "Employee", Value: "Row_Id"
      Name: "Score",  Value: Score of employee with 3rd highest score
      Name: "ID",     Value: Row_Id of the employee
. . . 

   Child Property Set Type: "Position", Value: "Row_id"
      Name: "Score",  Value: Score of the employee
      Name: "ID",     Value: Row_Id of the employee
   Child Property Set Type: "Position", Value: "Row_Id"
      Name: "Score",  Value: Score of the employee
      Name: "ID",     Value: Row_Id of the employee
. . .