Siebel EIM > How can we Create a Workflow Process to invoke nn EIM Task?
How can we Create a Workflow Process to invoke nn EIM Task?
Using the Server Requests Business Service to Call EIM
The example in this topic uses the Server Requests business service in a workflow process to call EIM. You can use a workflow process to start a server task. For example, you can use EIM to export base tables to IF tables or to load IF tables into base tables. Siebel CRM must pass the server component parameters that EIM requires in a child property set. You can use a wrapper business service for EIM, such as the Synchronous Assignment Manager Requests business service, or you can use the Server Requests business service.
Because the Server Requests business service can call a variety of server tasks, it does not contain definitions for parameters that are specific to a particular server component. Instead, it passes these parameters in a child property set that is not declared in the repository. To use Siebel Workflow to pass values in a child property set, you use the following dot notation:
[type].[property]
In this example, the Server Request Manager service does not care about the child type. It uses the first child it encounters and you can pass every parameter in the same child. For example
EIM.Config
To use the Server Requests business service to call EIM
- In Siebel Tools, in the Workflow Processes list, create a new workflow process using values described in the following table.
Property
|
Value
|
Process Name
|
EIM Export to IF (Tools)
|
Business Object
|
Account
|
Workflow Mode
|
Service Flow
|
- Open the Process Designer for the workflow process you defined in Step 1, and then create a workflow that resembles the workflow in the following figure:
- Click the Export EIM workflow step, and then use the Properties window to define values described in the following table.
Property
|
Value
|
Business Service Name
|
Synchronous Server Requests
|
Business Service Method
|
SubmitRequest
|
- Make sure the Export EIM workflow step is still chosen in the Process Designer.
- In the MVPW, add a new input argument using values from the following table.
Field
|
Value
|
Input Argument
|
Component
|
Type
|
Output Argument
|
Value
|
EIM
|
For more information, see Arguments That You Can Define for a Process Property.
- Add another input argument to the Export EIM workflow step using values from the following table.
Field
|
Value
|
Input Argument
|
EIM.Config
|
Type
|
Output Argument
|
Value
|
accnt.ifb
|
- Make sure the Server section of the client .cfg file contains the configuration described in the following table.
Variable
|
Value
|
GatewayAddress
|
Gateway_Machine_Name
|
EnterpriseServer
|
Enterprise_Server_Name
|
RequestComponent
|
SRMSynch
|
RequestServer
|
Siebel_Server_Name
|
- To prepare the workflow process for testing, set up the accnt.ifb file in the following directory:
Siebel_Server\Admin
- Validate, and then simulate the workflow process.
If the workflow runs successfully, then it finishes without errors. Siebel CRM creates an EIM task log in the Server Tasks screen in the Siebel client each time you step through the Process Simulator.
- Deploy the workflow process.
However, the documentation indicates to use the "Type: Output Argument" in the Input Argument applet Type field to specify some of the EIM task parameter value. This is incorrect. "Type: Output Argument" is not applicable for Input Argument, thus is why it will not be a valid option to choose in the picklist for the input argument applet Type field. "Type: Output Argument" is only available in the Output Argument applet's Type field/picklist.
The correct Type to use is Literal:
Type: Literal
Additionally, try not to use the "Synchronous Server Requests" business service as suggested either, use the "Server Requests" business service instead in order to better specify/change the execution mode for the EIM task as needed.
A documentation bug has been logged to have this information corrected:
BUG 28144458 - WF Guide on creating workflow process for invoking EIM has wrong Input Type
--------------------------------------------------------------------------------
An example of what to provide in the Business Service step of a workflow process that calls EIM would be as follows:
Business Service: Server Requests Method: SubmitRequest
Input Arguments applet:
Input Argument: Mode Type: Literal Value: Sync
NOTE: Use Sync for Synchrounous mode, use Async for Asynchronous mode, or DirectDb to put the request into the S_SRM_REQUEST table. You might find it better to use Async mode or the DirectDb mode so that the workflow process does not have to sit at the BS step and wait for the EIM task to complete before ending the workflow.
Input Argument: Component Type: Literal Value: EIM
Input Argument: EIM.Config Type: Literal Value: accnt.ifb
Input Argument: EIM.Batch Type: Literal Value: <provide whatever Batch number value needed here>
NOTE: Add additional Input Argument/Type/Value records as needed for any other EIM component/task specific parameters.
|