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