Siebel CRM Assignment Manager Administration Guide Siebel Innovation Pack 2017, Rev. A E24725-01 |
|
![]() Previous |
![]() Next |
View PDF |
The Distribute Data business service method is part of the Load Splitter Service business service, which allows you to configure Siebel Assignment Manager to run on multiple Siebel Servers concurrently within the Siebel Enterprise. This method consists of a complex hierarchical input property set.
This topic documents the arguments, usage, and invocation context for the Distribute Data method, and provides example code for invoking load splitter configuration.
Table 12-1 lists the arguments supported for the Distribute Data method.
Table 12-1 Arguments for Distribute Data Method
Argument | Description |
---|---|
Configuration Id |
The load splitter uses the configuration ID to get the configuration for the servers, threshold, minimum batch size, list of servers to run on, and so on. |
Mode |
Determines whether the load splitter runs in write or read mode. Read mode is the default. |
Object Types |
A property set that identifies the types of objects in a run and a child property set that contains a WHERE clause and the table name of each object type. For example: Object Type = Contact WHERE Clause = Specialty LIKE Cardiology TableName = S_PARTY |
Request Id |
Identifies the rows in the S_ASGN_LB_DATA table for a specific assignment request. |
Server Component |
Identifies the server component that the load splitter uses to pass the object rows for subsequent processing. The component is either Assignment Manager (AsgnSrvr) or Batch Assignment (AsgnBatch). This parameter also contains a child property set that has the input arguments used by a particular server component. For example: AsgnSrvr can take in the following input arguments based on underlying component parameters: AsgnKey, CopyPersonSpecData, and so on. |
Component Parameters |
The property set that contains all the parameters for the specified server component. This property set must be added as a child of each (previous) Object Type property set. Note: It is not possible to pass parameters such as Assignment Key, Regular Assign, and Reporting Mode using the Load Splitter Service business service. If you specify any of these values to be passed by the load splitter as property name and value pairs, then they are ignored. For example, the Assignment Key is ignored and Batch Assignment chooses the default All AM Rule Set component parameter rather than the particular rule group that you want to execute. |
Set Server Component Object Type Parameter |
Indicates which parameter to populate with the object type. |
Set Server Component SQL Parameter |
Indicates which parameter to populate with the load-balanced SQL statement. |
Input for load splitter configuration comes from any service that intends to use it, for example Target Object Selector (TOS), a business service. Load splitter configuration splits the objects that need processing into separate batches and submits those batches to a the server component, such as Assignment Manager (AsgnSrvr) in the example that follows.
You can invoke the load splitter using a workflow process, business service, scripting, and so on.
The following is sample code for invoking load splitter configuration using a business service.
function LoadSplitterCreateInputs() { var psInputArgs; var psOutputArgs; var psObjTypes; var psSrvrCompParams; var pService; psInputArgs = TheApplication().NewPropertySet(); psInputArgs.SetProperty ("Request Id", "LoadSplitterTest"); psInputArgs.SetProperty ("Configuration Id", "42-4VPGT"); psInputArgs.SetProperty ("Mode", "Write"); psInputArgs.SetProperty ("Server Component", "AsgnSrvr"); psInputArgs.SetProperty ("Set Server Component Object Type Parameter", "AsgnObjName"); psInputArgs.SetProperty ("Set Server Component SQL Parameter", "ObjRowSqlStmt"); psObjTypes = TheApplication().NewPropertySet(); psObjTypes.SetType ("Object Type"); psObjTypes.SetValue ("Account"); psObjTypes.SetProperty("SQL", "SELECT ROW_ID FROM SIEBEL.S_ORG_EXT WHERE NAME LIKE 'K%TEST%'"); psInputArgs.AddChild (psObjTypes); psObjTypes = TheApplication().NewPropertySet(); psObjTypes.SetType ("Object Type"); psObjTypes.SetValue ("Opportunity"); psObjTypes.SetProperty ("SQL", "SELECT ROW_ID FROM SIEBEL.S_OPTY WHERE NAME LIKE 'K%TEST%'"); psInputArgs.AddChild (psObjTypes); psSrvrCompParams = TheApplication().NewPropertySet(); psSrvrCompParams.SetType ("Component Parameters"); psInputArgs.AddChild (psSrvrCompParams); psOutputArgs = TheApplication().NewPropertySet(); pService = TheApplication().GetService("Load Splitter Service"); pService.InvokeMethod ("DistributeData", psInputArgs, psOutputArgs); }