SetUIOption Method
SetUIOption method is used to display Siebel Product Configurator interface.
Syntax
SetUIOption (inputArgs as Property Set, outputArgs as Property Set).
Input Arguments
A property set that contains the name or value pairs representing the value of the Product Id and UI Option Name fields.
Usage
Because this method is part of a cached Business Service, you can call this method at any time before Configurator is called.
The values you use as input arguments indicate which UI option to use for each product you specify.
Example
Add a workflow step at the beginning of the Siebel Product Configurator Load Workflow. This step calls a custom business service that determines which UI option to use for the Product that is being customized. After determining which UI option to use, the workflow uses the SetUIOption method to set the appropriate UI option.
The sample custom business service has the following features:
Business Service Name: SIS OM Workflow Utility
Business Service Method Name: Force_UI
The Business Service Method arguments are described in the following table.
Argument Name | Data Type | Storage Type | Type |
---|---|---|---|
Product_Id |
String |
Property |
Input |
UI_Name |
String |
Property |
Input |
Business Service Server Script:
function Service_PreInvokeMethod (MethodName, Inputs, Outputs)
{
Outputs.SetProperty("ErrorCode", "");
Outputs.SetProperty("ErrorText", "");
Outputs.SetProperty("Error Code", "");
Outputs.SetProperty("Error Message", "");
switch(MethodName)
{
case "Force_UI":
var strProdId = Inputs.GetProperty("Product_Id");
var strUI_Name = Inputs.GetProperty("UI_Name");
var oService = TheApplication().GetService("Cfg Web UI Service Loader");
var oInputs = TheApplication().NewPropertySet();
var oOutputs = TheApplication().NewPropertySet();
with(oInputs)
{
/* The input argument name is passed as a string (the product id)*/
/*****************************************************************/
SetProperty(strProdId,strUI_Name);
}
/* Force Configuration session UI */
/*********************************/
oService.InvokeMethod("SetUIOption", oInputs, oOutputs);
return (CancelOperation);
break;
default:
return (ContinueOperation);
break;
}
}
In the previous code, consider the scenario where product KG1 and KG2 are to be displayed. Assume both products have the properties described in the following table.
Argument Name | Data Type | Storage Type |
---|---|---|
UI Options |
Open UI Option 1, Open UI Option 2, Open UI Option3 |
Open UI Option 1, Open UI Option 2, Open UI Option3 |
Product Id |
12-12345 |
12-67890 |
To set Open UI Option 1 for KG1 and Open UI Option 3 for KG2, replace the code SetProperty(strProdId,strUI_Name) with the following lines:
SetProperty("12-12345", "Open UI Option 1");
SetProperty("12-67890", "Open UI Option 3");
In the workflow that launches the Siebel Product Configurator UI (which is Configurator Load for non-ABO or SIS OM Edit for ABO), the customer might add two steps before launching Siebel Product Configurator:
One to invoke the sample script
One to invoke the SetUIOption method to preset the UI option
Then Siebel Product Configurator uses this preset option during end-user configuration sessions.