20Business Services for Siebel Financial Services
Business Services for Siebel Financial Services
This chapter describes the business services for Siebel Financial Services. It includes the following topics:
About Siebel Business Services
A business service is an object that simplifies the use of a specific set of functionality. Business services are not tied to specific objects, but rather operate or act upon objects to achieve a particular goal. You can use business services to execute predefined or custom actions in a workflow process.
For more information on:
Business services, see Overview: Siebel Enterprise Application Integration
Workflows, see Siebel Business Process Framework: Workflow Guide
About Siebel Financial Services Business Services
Siebel Financial Services introduces a number of business services that fulfill a specific need in an end-to-end business process. The overall goal with these business services is to reduce the custom scripting that customers do during implementation. These business services benefit Siebel Financial Services customers in the following ways:
Increased efficiency and consistency with automation
Rapid deployment of functionality—less programming, and immediately deployable to the runtime repository
Better performance than scripting
Ease of maintenance—ability for a business analyst to maintain rules
For example, the Data Validation business service allows customers to define data validation rules in an administration view that users trigger in run time. This significantly reduces the amount of custom scripting that would otherwise be required.
Other business services, such as the Disclosure and Approval business services, bring similar benefits to customers' disclosure and approval business processes.
The following table lists the business services available in Siebel Financial Services.
Business Service | Business Applications | Functionality |
---|---|---|
Regulatory compliance, sales process compliance. |
Present literature specific to products; logs presentation for compliance. |
|
Approval Manager |
Policy exception approvals, underwriting. |
Determines necessary approval sources and routes to inbox. |
Cache data from external applications in Siebel for display. |
Cache VBC data throughout user's session and use Siebel Workflow to query external data sources. |
|
Comma-delimited and other free-format message creation. |
EAI Business Service to convert Siebel data to nonXML formats. |
|
Workflow - SmartScript Integration |
Embed Q&A style processes as part of a workflow process. |
Launch SmartScript sessions within a workflow process. Pass information from SmartScript back into the workflow process for downstream processing. |
Data Transfer Utilities (DTU) |
Auto-creation, prefilling. |
Copies data from one Siebel BO/BC/Field to another BO/BC/Field. |
Conditional logic, data integrity control. |
Performs data validation across business component fields. |
|
Application closings, service case resolution. |
Determines requirements and next steps for transaction completion. |
|
Transaction level security, regulatory compliance. |
Situation specific customer authentication data collection and logging. |
|
Lead scoring, payment calculations, prioritization. |
Performs arithmetic functions and if/then/else calculations in background or through UI. |
|
Customer services expectations, fulfillment expectations. |
Calculates expected and promise dates, and sets priorities, based on item type and customer value. |
|
Definition and execution of complex, frequently changing business logic. |
Higher performance and more scalable than scripting. Can change business logic without any changes to runtime repository. Flexible - supports procedure, loops, if then-else, switch-case constructs. |
|
Create read-only view that can be changed without the need to recompile and redeploy a Siebel Runtime Repository. |
Create and render views containing a single read-only applet in the Siebel Financial Services application. |
|
View navigation. |
Guides users through a series of views based on administration data. |
Disclosure Manager
The Disclosure Manager business service is used to present literature specific to financial products, and to log the presentation of disclosure statements. Disclosure processing is implemented by invoking the FINS Disclosure workflow from Siebel Script or Siebel Workflow. Disclosure documents are associated with specific products by the administrator.
FINS Disclosure UI Service Methods
The FINS Disclosure UI Service business service provides the following two methods:
SetupDisclosure. This method is used to save the current active view information for navigating back after displaying the disclosure(s).
GotoView. This method is used to navigate to a view whose context was saved during the SetupDisclosure method call. This method does not take any parameters.
SetupDisclosure Input User Properties
The following table lists the input user properties for the SetupDisclosure method.
Parameter Name | Description | Predefault Value |
---|---|---|
ContactId |
This is the Contact row ID. |
N |
DisclosureName |
This is the disclosure name. |
N |
ProductId |
This is the Product row ID. |
N |
ShowAlways |
This is a Boolean flag. If the value is set to true then disclosures must be displayed. |
False |
SetupDisclosure Output User Properties
The following table lists the output user properties for the SetupDisclosure method.
Parameter Name | Description | Predefault Value |
---|---|---|
DisclosureId |
This is the Disclosure row ID. |
N |
bDone |
This is a Boolean flag. If the value is set to true, then it implies that the current active version of the disclosure has not been displayed. The value will be N if ShowAlways is set in the input property set. |
N |
VBC Cache and Instance Manager
Integrating external systems with Siebel data in real time is a common business requirement. A standard approach is to use Virtual Business Components (VBC) with a substantial amount of scripting. This approach, however, often has associated performance and scalability concerns. The Caching VBC was originally developed to address integration with external billing systems, and the design requires a minimal amount of scripting. These features, however, can be extended and applied to a broad set of integration challenges beyond billing.
Caching VBC Overview
The Caching VBC enhances the existing CSSBCVRec VBC class and works in conjunction with the SIA Billing Extern Service business service. Although the name of this business service implies that it is billing specific, it is a generic service without any industry specific functionality.
Features of the Caching VBC include:
Caching of response data, allowing navigation between records in a parent BC without generating duplicate requests in the child VBC
Ability to have a VBC be the parent of another VBC child within a single business object
Forced refresh of already cached data
Ability to generate integration object instances without using the EAI Siebel Adapter business service
Integration with workflow process that can take advantage of any existing integration flow that uses Application Service Interfaces (ASIs), Web Services, or connector technology
Possible limitations to consider:
Read-only behavior
Only available as part of the Siebel Industry Applications (SIA) product
Queries are not supported.
Only an active field of an active business component has its value prefilled properly by the request integration object.
The business service references only the top-level from the top-level integration component when creating the request message to populate predefault fields.
Components
The following figure shows the components to implement the Caching VBC.

Stages of the Caching VBC Process
The caching VBC process uses the following process flow.
The Caching VBC invokes the named service when queried.
User properties on the VBC identify:
Whether or not to enable caching
The service name to invoke (SIA Billing Extern Service)
The integration object name to be passed to the service as an input parameter
The workflow process name to be passed to the service as an input parameter
When the VBC is executed, the VBC calls the business service and passes it the integration object name and workflow process name.
The business service instantiates the named integration object and populates it with values in the currently active business object without using the EAI Siebel Adapter.
The business service passes the integration object instance to the SiebelMessage workflow process property and invokes the workflow process.
The workflow process handles any integration tasks, including communicating with the external system.
It receives data from the external system and populates a hierarchical process property that matches the field structure of the VBC.
The workflow process completes.
The business service reads the hierarchical output process property from the workflow process property named VBC Output and compares it with the fields in the VBC.
Where matching field names are encountered, the value in the output process property is copied to the VBC. Field names that do not match are ignored and do not generate an error.
Caching VBC Configuration
Base the VBC on the CSSFABCVRec class. The following table lists the user properties VBC uses for its configuration.
User Property Name | Valid Names | Description |
---|---|---|
Enable Caching |
Yes or No |
Yes enables the caching of records retrieved by the VBC. No disables caching. |
Outgoing Integration Object Name |
An integration object name |
Name of the integration object to be passed to the business service. |
ProcessName |
A workflow process |
Name of the workflow process to be passed to the business service. |
Service Name |
A business service |
Name of the business service to be invoked when the VBC is executed. |
You must also configure the fields for your business component. No other scripting is necessary to invoke the service or the workflow.
The VBC uses a special field called Vid. This field is an internally generated unique identifier. It is not necessary to create this field in your VBC. However, if you do create this field in your VBC, do not modify this value. Treat this field as a system field.
You can create link specifications between parent business components and this VBC, and between this VBC and any child VBC. Any field can be a link specification.
Purging the VBC Cache
Purge the VBC cache by configuring a button to invoke method RefreshVBCCache. The following table lists the consequences if Enable Caching is set to Yes or No.
If... | Then... |
---|---|
Enable Caching is set to Y. |
The VBC purges cached values and forces a query of the external system. |
Enable Caching is set to N. |
The RefreshVBCCache method has no effect. |
Business Service Configuration
Base the business services specified in the Service Name parameter of the VBC on the CSSFAExternalService class, and have a method named query defined. You do not need to specify any input arguments to this method or configure any user properties. In this way, you can reuse this business service.
Integration Object Configuration
Use the integration object specified as the Outgoing Integration Object Name user property of the VBC to communicate record data between the business service and the workflow process. This integration object is non standard because it does not need to have an integration component for all the parent business components in the business object hierarchy. For example, if your business object hierarchy consists of Contact and the VBC as a child of Contact, you do not need to include a Contact integration component as the parent integration component in your integration object.
The reason for this is that this integration object is never used by the EAI Siebel Adapter. Therefore, you do not need to include the complete business component hierarchy in the integration object.
The integration object uses the PREDEFAULT user property, as described in the following table, on integration component fields to identify those fields that must be prefilled with data from the active business components:
Integration Component Field User Property | Valid Values | Description |
---|---|---|
PREDEFAULT |
[Business Component Name.Field Name] For example, [Contact.Primary Personal Postal Code] |
Identifies the source business component field that the Business Services uses to prefill the integration component field. |
After the workflow process completes, values in the integration component fields that have matching names in the VBC are copied back to the VBC. If the integration object has fields that do not match the VBC, then those fields are ignored and no error is produced.
Workflow Configuration
The workflow process specified as the ProcessName user property of the VBC is used to identify which workflow process the business service must invoke after instantiating the named integration object. The following table lists the two process properties that must be configured for this process to communicate with the business service.
Process Property Name | Type | Description |
---|---|---|
SiebelMessage |
Integration Object |
The input of the workflow process. This is passed in by the business service. Contains the integration object instance of the integration object identified with the Outgoing Integration Object Name user property on the VBC. This integration object instance contains data for integration component fields that have the PREDEFAULT user property set as described in the Integration Object Configuration section of this document. |
VBC Output |
Hierarchy |
The output from the workflow process. This is returned to the business service. Contains the integration object instance of the result of querying the external system that is to be returned to the business service for inserting into the VBC. |
The SiebelMessage process property contains the query parameter for the external system. The workflow process transforms this data to a format understood by the external system, then uses a transport to send the request and receive the response from the business service. Finally, it must transform the response data back to a format that matches the VBC fields. This transformed response data must be stored in the VBC Output process property so that the calling business service can map it back to the VBC.
Free Format Converter
This topic describes how to leverage the FINS EAI Free Format Hier Converter business service to convert a Siebel property set into a UTF-8 based text file structure for downloading.
Out of the box, the FINS EAI Free Format Hier Converter business service is used in the FINS eBanking Account Download Outbound workflow to enable the creation of flat file, tag-based data stream for download. The business service follows the same model as the EAI XML converter, but provides flexibility for manipulating the output data stream and header information.
If the output format that you want is XML-based, use EAI XML Converter, XML Hierarchy Converter, or other XML related converter Business Service that Oracle provides. If the file format is not XML-based, use FINS EAI Free Format Hier Converter.
FINS EAI Free Format Hier Converter Methods
The FINS EAI Free Format Hier Converter business service provides two methods for creating text data streams:
PropSetToPlainText
PropSetToRawText
The difference between these two methods is that the PropSetToRawText method has the DiffBeginEndTag, EscCharSupport, and NewLineAfterNode user properties predefaulted. And in the PropSetToPlainText method, the following parameters are preset:
DiffBeginEndTag = N
EscCharSupport = N
NewLineAfterNode = Y
PropSetToPlainText and PropSetToRawText User Properties
The following table lists the user properties for the PropSetToPlainText and PropSetToRawText methods.
Parameter Name | Description | Predefault Value |
---|---|---|
BeginTagLeft |
A text value for the first boundary of the begin tag. |
< |
BeginTagRight |
A text value for the second boundary of the begin tag. |
> |
DiffBeginEndTag |
Y or N If there are different tags for the begin and end tag, then for XML, they are the same. Use "," as the separator to set it differently. For example, if this is set to Y, and the XML tag of any component is A,B, then the begin tag is A and end tag is B. |
N |
EndTagLeft |
A text value for the first boundary of the end tag. |
< |
EndTagRight |
A text value for the second boundary of the end tag. |
> |
EscCharSupport |
Y or N Yes supports escape characters such as \n and \r. |
Y |
NewLineAfterNode |
Y or N Yes prints a new-line character after each element. |
N |
PrintAggregateEndTag |
Y or N Yes prints end tag for aggregate nodes. |
Y |
PrintElementEndTag |
Y or N Yes prints end tag for element nodes (element that has no child). |
Y |
PrintEndTagBeforeChild |
Y or N Yes prints the end tag before print out the first child. |
N |
PrintTagBound |
Y or N Yes prints the tag boundaries. |
Y |
XMLHierarchy |
The IntObj instance that is parsed into the BusSvc. |
None. |
Data Validation Manager
Many companies are governed by various regulatory agencies, as well as internal processes and procedures, to verify the quality and accuracy of their transactions. Data validation can involve many types of transactions, which includes orders, applications, claims, and various other service requests.
Data validation is a key component of almost every business process in Financial Services. The Data Validation Manager business service can validate business component data based on a set of rules.
In the case of a rule violation, a custom error message appears or a user-defined error code is returned. The validation rules are defined using the Siebel Query Language and can be conveniently constructed using the Personalization Business Rules Designer. The business service centralizes the creation and management of data validation rules without requiring Siebel Tools configuration, and does not require deployment to the Siebel Runtime Repository.
The Data Validation Manager business service significantly reduces the need for custom scripts, decreasing implementation costs and increasing application performance.
The Data Validation Manager features include:
Search automatically for the proper rule set to execute based on active business objects and views.
Write validation rules based on fields from multiple business components.
Apply a validation rule to a set of child business component records to see if a violation occurs from one or more records.
Invoke specific actions to be performed as a result of a validation.
Write validation rules that operate on dynamic data supplied at run time without that data being from the business component field.
Automatic logging of data validation events.
Some example business rules that can be enforced by the Data Validation Manager business service are:
In an insurance company, claim adjusters are required to enter a closed date whenever they close a claim. If the adjuster tries to close a claim without a closed date, he is prompted with an appropriate error message and the claim record is not committed to the database.
In a retail bank, different data validation rules are required for each of dozens of different service request types. When a customer service representative creates a new service request, the Data Validation manager identifies the appropriate validation rule set for the specific type of service request and executes the data validation rules of that rule set.
At a health insurance company, customer service representatives use activity plans and activities to track service requests. All activities must be closed before the service request can be closed. When the CSR closes the SR, the DVM loops through all associated activities making sure the status of each activity is closed. If any are still open, the SR cannot be closed.
For more information about Data Validation Manager, see Siebel Order Management Guide.
Business Rule Processor
The Business Rule Processor (BRP) business service is a general-purpose, highly-scalable business logic execution engine. The business logic is defined from within the Siebel client administration user interface, reducing the need to hard-code the logic into the Siebel Runtime Repository. This supports scenarios in which there are constant changes to the business rules. The BRP can define and execute highly complex business logic.
You can invoke the BRP by a run-time event, workflow, or Siebel script. This is described in Invoking the Business Rule Processor.
The Business Rule Processor features include:
Business logic administration through the application user interface.
Appropriate for complex business logic; supports procedure, loops, if-then-else and switch-case constructs.
Appropriate for business logic that changes frequently. You can modify business logic without deploying to the Siebel Runtime Repository.
Query, read, and write access to business components.
Error handling.
Support logging at multiple levels for easy testing and debugging.
Can potentially replace large amounts of custom scripts.
The BRP executes business rule processes. A business rule process is constructed much like a computer program or a Siebel workflow. A process consists of procedures. Procedures are made of steps. Steps, in turn, contain statements. A statement is a conceptual line of code.
BRP configuration and administration must only be done by expert users accustomed to working with business services.
Process of Defining Business Rule Processes
Defining business rules processes involves the following procedures:
The following figure presents an overview of defining business rule processes.

Creating and Managing Business Rule Processes
This topic describes how to create and manage business rule processes.
About Business Rule Processes
A BRP process is uniquely identified by its name. A process name must begin with a letter. It can contain alphanumeric, space, underscore, and hyphen. The name cannot contain other special characters like @ or !.
About Defining Business Rule Processes
You define business rule processes from the Business Rule Processor screen. You can either revise an existing process or create a new one.
A business rule process is made up of procedures and properties.
A BRP process can have one of three statuses:
In progress. You can modify only a process in the In-progress status
Active. An Active status indicates that the process definition is released for execution
Inactive. An Inactive process indicates that the process is in no longer in use and has been retired
Additionally, all BRP process definitions are cached in the object manager across all login sessions to improve scalability. Hence, if any modifications are made to the process definitions, then they are not available to the run-time sessions until the cache is refreshed.
It is recommended that you put in place procedures to promote BRP processes from development to production, and establish controls on how to refresh the cache.
You can import and export business rule processes. This makes migrating process definitions across development and production environments easier. The process is saved as an XML file for importing and exporting purposes.
This step is part of Process of Defining Business Rule Processes.
To create a business rule process
Navigate to the Business Rule Processor screen.
Create a new record.
Revising an Existing Business Rule Process
You can also revise an existing business rule process.
To revise an existing business rule process
Navigate to the Business Rule Processor screen.
In the Processes list, select a business rule process of status Active or Inactive and click Revise.
Clicking Revise changes the status of the process to In Progress.
Make the appropriate changes to the process.
Activating a Business Rule Process
You can also activate a business rule process.
To activate a business rule process
Navigate to the Business Rule Processor screen.
In the Processes list, select the business rule process you wish to activate.
Click the Activate button.
Clicking Activate changes the Status from In Progress to Active and makes the record read-only.
Click the Refresh Cache button.
This clears the OM cache and creates a new copy of the process definitions.
Any process that is executing when the cache is cleared is allowed to complete. However, the new process definition is available to all processes that start right after the button is clicked.
Note: Take care while using this feature. Refresh Cache clears the cache for all BRP process definitions. Hence, any processes that are In-progress or Inactive are lost from the cache.
Exporting a Business Rule Process
You can export an existing business rule process.
To export a business rule process
Navigate to the Business Rule Processor screen.
In the Processes list, select the process you wish to export and click the More Info view tab.
In the Processes form, click the Export Process button.
Follow the on-screen prompts to save the rule set as an XML file.
Importing a Business Rule Process
Once you follow the procedure to export a business rule process, follow this procedure to import the business rule process.
To import a business rule process
Navigate to the Business Rule Processor screen.
Click the More Info view tab.
In the Processes form, click the Import Process button.
In the Workflow Process Import dialog box, locate the file you wish to import and click Import.
The imported process appears with a status of In Progress.
To activate the imported process, select it in the Processes list and click Activate.
Clicking Activate changes the rule set Status to Active and makes the record read-only.
Note: If the process already exists, the process status must be In progress to allow the import. View imported processes by performing a query/go operation to refresh the Processes list.
Defining Properties for a Business Rule Process
Properties are:
Variables that are used either to facilitate flow of data in and out of a process or to store information temporarily for the life of the process.
Either global process properties or local procedure properties. Global properties are available for all procedures that are associated with the business rule process.
The property name:
Must begin with a letter.
Can contain alphanumeric, spaces, underscore, and hyphen.
Cannot contain other special characters such as an ampersand (@) or exclamation mark (!).
Are case sensitive and limited to 75 characters.
This step is part of Process of Defining Business Rule Processes.
About Business Rule Process Property Types
You can categorize properties into two classes:
Simple property types. Scalar properties such as an integer, string, or date.
Complex property types. Nonscalar properties such as property sets, vectors, and Siebel Business Component references. These are described in detail in the following table.
At run time, you can pass values for global properties to the BRP business service as an input argument. This run-time value overwrites the initial value definition, if any, on the property.
Complex properties except PropertySet and Vector cannot be passed as inputs to a BRP process.
The following table describes the complex types in further detail.
Type | Description |
---|---|
BusComp |
This data type stores a reference to a Siebel Business Component (BC) and is used in conjunction with the FINS CAP Buscomp Handler business service. See Using BRP Helper Business Services. BusComp is used within BRP process as a stand-alone BC, without the context of Business Object (BO). Hence, you have to explicitly query the BusComp with the correct key values to establish a context. |
Property Set |
Property sets are collections of properties used for storing data. They might have child property sets assigned to them to form a hierarchical data structure. See Siebel Object Interfaces Reference. The Property Set itself can contain child property sets. This is particularly convenient to store array-like data. For example, to store multiple contacts and their properties such as Name, Phone Number, and Date of Birth. Each contact is stored as a child property set of Contacts. At the leaf, the property map stores data as a name-value pair. A property set cannot be instantiated with an assignment. Property sets are always instantiated using a business service, such as FINS CAP Buscomp Data Loader Service. See Using BRP Helper Business Services. |
Vector |
Vectors are special-formatted Property Sets, where each nonleaf node stores a unique key as its value.
Note: The vector root node type for a BRP process is always SEBLFACapVector.
A vector cannot be instantiated with an assignment. Vectors are always instantiated using an business service, such as FINS CAP Buscomp Data Loader Service. See Using BRP Helper Business Services. The following diagram shows a ProductRate vector that has 2 levels - Region & Product name. At the leaf level the vector stores the rate and the balance as key value pairs. |
Vector Reference |
Vector Reference is a reference to a property set, vector or a child property set. Once defined, you can use Vector Reference as a vector or propertyset. When the referenced object is reset, the dependent reference is automatically set to NULL. This property set is particularly useful when accessing data on the child property sets. There are two ways to make a child Property Set reference:
Parentheses ( ) are used to retrieve a child Property Set by index.
Note: The index starts at 0.
Brackets [ ] are used to get a child Property Set by value.
Note: Accessing by value is only valid for Vectors.
Only literals or property names can be used within brackets [ ] or parentheses ( ). Expressions cannot be used within.
Tip: To use expressions within brackets [ ] or parentheses ( ), assign these to a simple property type and use the simple property within brackets [ ] or parentheses ( ).
You can use brackets and parentheses in combination. Example: grandchildPropertySetRef = parentPropertySet(2)["California"] In the preceding notion, parentPropertySet itself can be a reference. In other words, a reference and a property set are used interchangeably for data access. Retrieve leaf properties by using brackets [ ]. Example: ProductRate = productRate[productId][domain]["Annual Fee"] |
The following procedure describes how to define a property for use in a business rule process.
To define a property for a business rule process
Navigate to the Business Rule Processor screen and select a process for which you want to create global variables.
Click the Properties view tab and create a new property, completing the necessary fields as described in the following table.
Field Comments Sequence
Identifies the numeric sequence of this property. The application initializes properties in numerical order based on this number.
Data Type
The data type for the property. The value can be one of the following.
Simple types:
String
- Integer
- Number
- Date
- Boolean
Complex types:
Property Set
- Vector
- Vector Reference
- BusComp
Value
Initial value of the property.
Initial values can be set only for Simple property types.
Output
Select this check box to make property an output argument and is used to pass information out of the business service. which has no output arguments of its own.
This flag does not apply to Complex property types except ProperySet and Vector.
Defining Procedures for a Business Rule Process
Procedures are collections of steps. When a procedure is executed, each step in the procedure is executed in sequence.
One of the procedures is designated at the process level as the entry procedure. This procedure is executed when the process is executed. Within the entry procedure, other procedures are invoked by additional procedure statements.
Each procedure is uniquely identified by its name. The name must begin with a letter. It can contain alphanumeric, spaces, underscores, and hyphens. It cannot contain other special characters such as an ampersand (@), exclamation mark (!), or percent sign (%). Procedure names are case sensitive.
A procedure can have its own local properties. These properties can only be accessed within the procedure where they are defined. If a local property has the same name as a global property, the local property takes precedence over the global property.
This step is part of Process of Defining Business Rule Processes.
To define a procedure for a business rule process procedure
Navigate to the Business Rule Processor screen and select a process.
Click the Procedures view tab, and create a new procedure.
In the Properties list, create new records to define local variables for the procedure.
The fields for a local variable are equivalent to those of a global variable. The fields are described in About Business Rule Process Property Types.
Defining a Step for a Business Rule Process Procedure
You must define the steps that make up a business rule process procedure.
To define a step for a business rule process procedure
Navigate to the Business Rule Processor screen, select a process and a procedure.
Navigate to the Steps list and create a new record to define each step for the procedure, completing the necessary fields as described in the following table.
Field Comments Sequence
The numerical order in which the steps are executed.
Step Type
There are three types of steps:
Statement Step. Contains one or more child statements that are executed if and when the statement step is executed.
Business Service Step. Invokes a Siebel business service. Business Service Step provides a way to extend the capabilities of BRP beyond its out-of-box features.
For instance, you could code custom functionality in an eScript and then wrapped as a Siebel Business Service. You could invoke this Business Service within the Business Service step and exchange arguments between the script and the BRP process.
Switch Step. Contains switch criterion and a switch block for each criteria. The switch block is like a statement step and contains one or more child statements.
Tip: Use the switch step if a variable is a bounded variable. From a performance and maintenance standpoint, a switch step is better than multiple conditional statement steps.Inactive
A check box to activate or inactivate a given step.
Comment
A free text field used to document the step.
Tip: Make sure that each step has appropriate comments for ongoing maintenance of BRP process definitions.Drill down on the Step Type and proceed to one of the following steps, depending on the step type.
Statement Step. See Statement Step in the following.
Business Service. See Business Service Step in the following .
Switch Step. See Switch Step in the following.
Statement Step
For a statement step:
Complete the fields in the Statement Steps form, some of which are described in the following table.
Field Comments Condition
A Siebel Query Language expression evaluated to be TRUE or FALSE.
If the expression is evaluated to be TRUE, then the statement step is executed. If the field is not specified, then the statement step executes every time it is encountered.
Example: [SomeIntegerVariable] < 0
Loop
If checked, the statement step iterates over and over as long as the Condition is evaluated to TRUE.
If neither Condition nor Loop is asserted, then the statement step is executed one time, unconditionally.
The looping is counted and compared with the maximum allowed Loop Count in order to avoid infinite looping. By default, this number is set to 1000, however, you can overwrite this value by defining the system preference FINS CAP Max Iteration. If the iteration number exceeds the maximum, an error is thrown. Refer to Handling Business Rules Processor Errors for more information on handling errors.
Tip: Construct a For…next loop, by defining a local variable and then either incrementing or decrementing that variable in a statement. On the condition, check if the local variable has reached its limit.Add one or more records to the Statements list, defining the statements of the statement step. Some of the fields are described in the following table.
Statement Type Value Expression Example Assignment. Evaluates the expression and assigns the resulting value to the property listed in the Value field.
Name of a local, global, and system properties previously defined for the business rule process.
A Siebel Query Language expression.
None. Procedure. Invokes another procedure defined inside the BRP process.
Name of a defined procedure which is part of the business rule process.
Null and read-only.
None. PropertySet Value. Retrieves a property value from a property set or child property set, as defined by Expression. This property value is placed into the variable defined by Value.
Name of a local, global, and system properties previously defined for the business rule process.
A property set value retrieve expression. The expression must begin with a variable of type property set, vector set reference, or vector.
Each index can be either a variable of type integer or number, or numeric literal. No Siebel calculation expressions can be involved.
EX: PropSet[AnInteger]["SomeName"]
PropSet(2)["SomeName"]
No Siebel calculation expressions can be involved.
Consider a Property Set called productRate that contains banking product information organized by Region and Product Name.
Retrieve the Annual Fee property from the Property Set and assign this to a local property named l_Rate, by setting:
Value = l_Rate
Expression = productRate["West"] ["Checking"]["Annual Fee"]
PropertySet Set Value. Assigns a value to a property set property value.
A property set value retrieve expression.
If the stated property name value does not exist, a new name/value pair is created.
Name of a local or global property.
If the property is not a string, it is internally converted to a string first by BRP.
Set the Annual Fee property on the Property Set productRate, by setting:
Value = productRate["West"] ["Checking"]["Annual Fee"]
Expression = l_Rate
PropertySet Reference. Creates a reference to a vector or property set. If the referenced object is a vector, the reference acts as a vector. Otherwise, the reference acts as a property set.
Creates an alias to a subset of a property set.
A local or global property of type Vector Reference.
The expression must begin with a variable of type property set, vector set reference, or vector.
Each index can be either a scalar property or a string or numeric literal. No Siebel calculation expressions can be involved.
Create a new Property Set Reference to all the products in the "East" region from the productRate Property Set, and assign this to a local variable l_east_prod, by setting:
Value = l_east_prod
Expression = productRate["East"]
PropertySet Sum. Retrieves an aggregation value from a vector or property set.
A local, global property.
The property must be of data type number or integer.
A property set value retrieve expression.
This expression differs from other property set retrieval expressions in that one of the indexes must be a wild card, indicating summing of all indices of that node. This is done by using an empty set of parenthesis.
If the child property set, or the property does not exist, the return value is set to null.
Calculate the sum of balances under the Savings product across all regions from the productRate Property Set, and assign this to a local variable l_savings_bal, by setting:
Value = l_savings_bal
Expression = producetrate[] ["Savings"]["Balance"]
PropertySet Childcount. Retrieves the number of child property sets.
A local, global property.
Property must be of data type integer or number.
A property set reference retrieve expression.
If the property set does not have a child property set, the return value is 0. If the property set does not exist, the return value is -1. The latter is a useful approach to determine if a property set, or a reference is null.
Calculate the number of products available in the west region from the productRate Property Set, and assign this to a local variable l_west_count, by setting:
Value = l_west_count
Expression = producetRate["West"]
Table Lookup. Look-up a value based on ranges. The look up table is stored as a specialized property set. The property set consists of child property sets, and the child property sets contain three properties corresponding to Lower Bound, Upper Bound, and Value.
At run time, for any input value, BRP looks up the child property set and locates the leaf whose lower Bound is smaller than the input value, but whose Upper Bound is bigger than the input value, and returns the Value property.
A local, global scalar property.
The expression follows property set retrieval syntax, but in the following specialized format:
PropertySet [Upper Bound Field Name] [Lower Bound Field Name][Return Value Field Name] [InputProperty]
The Upper Bound Field Name, Lower Bound Field Name, and Return Value Field Name must be a string literal or a BRP string property. The InputPropety must be the name of a BRP numeric property used to do the lookup.
Consider a TaxRateTable vector, where High, Low, and Rate fields define the Upper Bound, Lower Bound, and Return Value.
Lookup the effective tax rate for a person given the Total Income and assign this to a local variable l_tax_rate, by setting:
Value: l_tax_rate
Expression: TaxRateTable["High"] ["Low"]["Rate"] [dMyTotalIncome]
Business Service Step
For a business service step:
In the Business Service Step form, complete the fields as described in the following table.
Field Comments Business Service
The name of the business service to invoke. In particular for BRP, there are two helper business services that you are likely to use for data access: FINS CAP Buscomp Data Loader Service and FINS CAP Buscomp Handler.
For more information on these two business services, see Using BRP Helper Business Services.
Method
The business service method to use.
BusComp
A reference to a Buscomp Property Type.
This field is used only in conjunction with the two BRP helper business services, FINS CAP Buscomp Data Loader and FINS CAP Buscomp Handler. See Using BRP Helper Business Services.
In the Arguments list, define required input and output arguments for the business service invoked. Some of the fields required are described in the following table.
Field Comments Direction
Type of argument: Input, Output, or Input/Output.
Name
The argument name.
Use the pick list to select the name for registered business services. Picking the argument name automatically sets the direction.
Type
The mechanics of passing values to the Business Service. Select from one of three values:
Literal. For Input and Input/Output arguments, the literal string in the value field is passed as an input to the Business Service method. For output arguments, this selection is invalid.
Property. For Input and Input/Output arguments, the value of the local or global property is passed as an input to the Business Service method. For output arguments, the return value is populated into the local or global property.
Expression. For Input and Input/Output arguments, the expression in the Value field is evaluated and is passed as an input to the Business Service method. For output arguments, this selection is invalid.
Value
Contains different values depending on the argument type:
Literal. Contains the string value.
Expression. Contains the Siebel query expression.
Property. Disabled.
Property
Local or global property.
This field is disabled for Literal or Expression type arguments.
Switch Step
For a switch step:
In the Switch Steps form, enter the switch criteria, a Siebel Query Language Expression that evaluates to be a string.
In the Switch Blocks list, create records and complete the fields as described in the following table.
Field Comments Value
A string value used to compare with the switch step criterion value.
If they are the same, the switch block is executed, which, in turn, executes the child statements belonging to the switch block.
Default
If checked, the switch block acts as the default switch block. It is executed if no match is found for the switch step criteria.
At any point, you can disengage only one Switch Block as the default block.
- In the Statements list, enter one or more statements. See the information about Statement Step in Defining a Step for a Business Rule Process Procedure for details on creating statements.
Fine-Tuning the Assignment Statement
You can use two fields available at the statement level to fine-tune the performance of Assignment Statements:
Cache Flag
Light Parser Flag
For most cases, it is recommended to leave these fields at their default values. It is only necessary to consider changing these values if performance is deemed poor.
About the Light Parser Flag
Within your Siebel application, calculation expressions are evaluated using Siebel Query Language Parser. This parser could be performance and resource intensive if the expressions are simple numeric. However, to improve performance, BRP includes a high-performance light parser, which is used solely to evaluate numeric expressions. In most cases, the light parser works many times faster than the Siebel Query Language for simple numeric.
The following examples are numeric expressions that can be handled by the light parser:
12 + 8 + [A]* [B]
5 + (12 + [A]* ([B] + [C]))
The following examples are considered complex and cannot be handled by the light parser:
IIf ([A] > [B], 0, 1)
[A] IS NULL
LN (10)
When the Light Parser flag is checked, BRP attempts to use the light parser to parse and evaluate the expression. If this fails, BRP resorts to Siebel Query Language engine to parse the expression. By default, Light Parser Flag is checked.
About the Cache Flag
The following table shows the options if the Cache flag is checked or unchecked. It is recommended that you leave this flag at its default value, that is, checked.
If... | Then... |
---|---|
The Cache flag is checked. |
Only one single parse tree is established for the expression within the object manager, irrespective of the number of open sessions. Therefore, when all sessions share the same parse tree, the memory footprint is reduced, however an overhead for context switch is assumed. |
The flag is not checked. |
Each session has its own parse tree for the expression. There will be no context switch, but the memory footprint is increased. |
Handling Business Rules Processor Errors
BRP offers a mechanism to handle errors that includes two key features:
Throwing Errors Within a Business Rules Process
The BRP process definition includes three global system properties, described in the following table, to throw errors and provide some meaningful information when a run-time error occurs.
Property Name | Type | Description |
---|---|---|
System_ErrorCode |
String |
Alphanumeric error code. This property contains an empty string when there is no error. |
System_ErrorMessage |
String |
Descriptive error message. |
System_ErrorSource |
String |
Current context of the error. |
After each statement, step, or procedure is executed, the BRP processor checks if System_ErrorCode is an empty string. There are two ways to set System_ErrorCode:
Manually (Expected Error Conditions). An explicit assignment statement sets a nonempty string to System_ErrorCode.
Automatically (Unexpected System Error Conditions). The BRP Processor detects a system error such as failure to invoke a business service, or failure to evaluate a Siebel query language expression, and sets System_ErrorCode to a Siebel error code.
When System_ErrorCode is non empty, an error occurs and the BRP processor uses the following syntax to automatically set the error source to the full context of the current execution unit:
Statement Seq (Block Seq) Step Seq Procedure Name
where, Seq represents the sequence number of the Statement, Block, or Step.
The three output global properties System_ErrorCode, System_ErrorMessage, and System_ErrorSource are returned back to the calling process.
Recovering from Errors Within a Business Rules Process
For every BRP process, a procedure can be nominated as the error procedure at the process level. If defined, when an error condition occurs, this procedure is automatically invoked to handle the error.
On completion of the error procedure, System_ErrorCode property is rechecked. If it is empty, the execution continues from the point where the error was originally thrown. If the error code is still populated, the process does not necessarily end, but rather follows an error bubbling process.
For example, if an error encounters in Statement 10 Step 5 Procedure Main, the error procedure is first executed with System_ErrorSource to be 'Statement 10 Step 5 Procedure Main'. If the error is not handled, the error bubbles one level higher, to Step 5 Procedure Main. The error procedure is then re-executed with System_ErrorSouce to be 'Step 5 Procedure Main'. If error is handled there, the next step following Step 5 is executed. Otherwise, the error bubbles to Procedure Main.
The whole bubbling process continues until it reaches the process level, with System_ErrorSource to be Process myProcessName. If the error is not handled at the process level, the process ends with an error.
It is important that the error procedure be thoroughly tested. If an execution error occurs within the error procedure, the error procedure will not be recursively invoked; the error procedure will end with an error.
Using BRP Helper Business Services
In Siebel Financial Services, there are two helper business services that are used as business service steps within the BRP. They are both used to facilitate data access with a business rule process. The two business services are:
FINS CAP Buscomp Data Loader Business Service. The FINS Buscomp Data Loader is used to load data for prop sets.
FINS CAP Buscomp Handler Business Service. This business service takes the results of calculations done within the BRP and then either creates new business component records, updates existing business component records, or queries on calculation results.
FINS CAP Buscomp Data Loader Business Service
Use this business service to load data from a Siebel business component into a Siebel property set. Additionally, once this data is loaded into a property set, it can be cached and shared across all login sessions.
This business service exposes three methods:
LoadData
ClearCache
NewVector
About LoadData Method
Use the LoadData method to load business component data into a property set. The property set follows the vector format. The following table describes the input and output parameters for this method.
For example, define the default search spec as the Buscomp user property: FINS Data Loader Search Spec.
Parameter Name | Direction | Description |
---|---|---|
BusComp |
Input |
The name of a Siebel BC. |
IsCachedData |
Input |
If true, the resulting vector is cached within the OM. Further requests to load data from the same business component are handled through the cache. Cached data is retrieved based on the business component name. If a second retrieval request uses different search spec, fields, format, and so on, release the original cached data first. |
Search Spec |
Input |
The search spec applied to the business component when loading data. Since the FINS CAP Data Loader Service works outside the context of a business object, the search spec must include the appropriate user key fields. |
Hierarchical Key [n] |
Input |
Hierarchical keys define the hierarchy within the vector. These keys identify the unique key at each level. Specify multiple hierarchical keys by defining [n] = 1, 2, 3 … n Refer to the ProductRate vector illustrated under Defining Properties for a Business Rule Process. In the ProductRate vector, Region and Product fields represent the hierarchical keys. |
Sort Spec |
Input |
The sort specification applied to the business component when loading data. It is important to match the Sort Spec and the hierarchical keys when creating the vector. When a business component is accessed through the FINS CAP Buscomp Data Loader Service, sorting controls the shape of the parent/child tree structure. Records are processed sequentially and are aware of only the last parent node key. When children nodes are added to a parent node, they continue to be added until a new value is retrieved for the hierarchical key. When a new key value is discovered, a new parent node is immediate created, and children are assembled under that parent. This process continues until all records are collected. If a key equal to a previously processed node is retrieved after a different node key has been processed, a new node is produced rather than adding to the original. |
Field [n] |
Input |
The name of Buscomp fields whose values are retrieved as the leaf propertyset properties. The property name is the field name, and the property value is the field value. [n]=1,2,… This represents one approach to how Buscomp fields can be retrieved. See Example of LoadData Method Using Field [n]. |
Key Field & Value Field |
Input |
Used to retrieve data as Key/value pair and store as a property in the leaf propertyset. The field value of the Key Field is the name of the property and the value of Value Field is stored as the value of the property. This is an alternative approach to Field [n] to retrieve data. See Example of LoadData Method Using Key Field and Value Field. Duplicate Key/Value pairs are not allowed. If duplicates are found when the vector is created, the new entry replaces the old entry. |
Aggregate Field[n] |
Input |
Fields that are aggregated if duplicates occur. Multiple aggregate fields can be specified by defining [n] = 1, 2, 3 … n This parameter is useful with the Key Field/Value Field data retrieval approach. For example, a contact can have multiple income records with different types. If the Aggregate Field is defined, the data loader service automatically sums the income and stores this as a single income key/value pair. |
Vector |
Output |
The resultant vector output. |
Example of LoadData Method Using Field [n]
Golden Gate Bank defines its product rates in the Buscomp Financial Product. The following table shows fields in the Buscomp and some sample data.
Region | Product | Balance | Rate |
---|---|---|---|
West |
Checking |
10000 |
0.2 |
West |
Saving |
29000 |
2.1 |
West |
N Market |
87560 |
2.5 |
East |
Checking |
40000 |
0.24 |
The following table shows the arguments used to retrieve the data and store it in a format as defined by the ProductRate Vector sample diagram shown in the table in About Business Rule Process Property Types.
Input Argument Name | Value |
---|---|
Buscomp |
Financial Product |
IsCachedData |
Y |
Hierarchial 1 |
Region |
Hierarchial 2 |
Product |
Sort Spec |
Region, Product |
Field 1 |
Balance |
Field 2 |
Rate |
The data is stored into a vector named productRateVector. Then, the rate of the Checking product in the East region can be retrieved as:
productRateVector["East"]["Checking"]["Rate"]
using a PropertySet Value statement.
Example of LoadData Method Using Key Field and Value Field
Golden Gate Bank decides to implement its product rates using a different schema. Instead of one record for one product as shown in Example of LoadData Method Using Field [n], they would like to store the data using name-value pairs for each product. The advantage of this approach is that they can add new attributes without schema changes. The following table shows the data that is stored in the Financial Product Attribute business component.
Region | Product | Attribute Name | Attribute Value |
---|---|---|---|
West |
Checking |
Balance |
10000 |
West |
Checking |
Rate |
0.2 |
West |
Savings |
Balance |
29000 |
East |
Savings |
Rate |
2.1 |
The following table shows the arguments used to retrieve the data and store it in a format as defined by the ProductRate Vector sample diagram shown in the table in About Business Rule Process Property Types.
Input Argument Name | Value |
---|---|
Buscomp |
Financial Product Attribute |
IsCachedData |
Y |
Hierarchical Key 1 |
Region |
Hierarchical Key 2 |
Product |
Sort Spec |
Region, Product |
Key Field |
Attribute Name |
Value Field |
Attribute Value |
About ClearCache Method
Use this method to create an empty Vector or PropertySet. There is one output argument, Vector. In BRP, PropertySets and Vectors are uninitialized before they are populated by a business service method, for example, the data loader LoadData method. You can use the NewVector method to generate an empty PropertySet/Vector.
FINS CAP Buscomp Handler Business Service
FINS CAP Buscomp Handler Business Service provides the ability perform data operations such as query, update, and insert within the context of a business rules process.
FINS CAP Buscomp Handler Business Service provides the following five methods:
Query
NextRecord
GetFieldValue
SetFieldValue
InsertRecord
All of these methods need a BusComp variable to be defined under the business service step definition. See Business Service Step in Defining a Step for a Business Rule Process Procedure for details on defining a business service step.
About Query Method
Use this method to retrieve data from a Siebel business component into a BRP BusComp property. The query uses ForwardBackward cursor mode. For more information on cursor mode, see Siebel Object Interfaces Reference. The following table describes the input and output parameters for this method.
Parameter Name | Direction | Description |
---|---|---|
ActivateFieldName(1,2,3…n) |
Input |
The name of the fields that must be included in the query. List each field individually in a sequence. Any field that you must use with the GetFieldValue and SetFieldValue methods, must be activated prior to using these. There are no limits to the number of fields that can be activated, however, care must be taken since this affects performance of the query. |
BusCompName |
Input |
The Name of the business component from which the data is to be retrieved. |
SearchSpec |
Input |
The search specification applied to the business component when retrieving data. This is a regular Siebel Query Language expression. Since the business service operates without a context of business object, the search spec must include the appropriate user keys when the query is used for an update. |
SearchSpecFieldName(1,2,3…n) |
Input |
Search Spec Field Name/Value pair is an alternative way to set search spec on a field. For example, SearchSpecFieldName1=Application Flag, SearchSpecFieldValue1=Y, then this is the equivalent of setting SearchSpec to be: [Application Flag] = Y |
SearchSpecFieldValue(1,2,3…n) |
Input |
|
SortSpec |
Input |
The sort specification applied to the business component when querying data. |
Status |
Output |
The status of the query operation. Status can have one of two values:
Following any data operation, use the Status field to check for error conditions and take appropriate actions. See Handling Business Rules Processor Errors for information on error handling. |
The following figure shows the use of Query method to retrieve data from the FINS Health Provider business component.

About GetFieldValue Method
Use this method, described in the following table, to get a value of a Business Component field into a local or global property.
Parameter Name | Direction | Description |
---|---|---|
BusCompName |
Input |
The Name of the business component from which the data is to be retrieved. |
FieldName(1,2,3…n) |
Input |
Name of the fields to be retrieved. This field must be activated prior to retrieval. See the table in About Query Method. |
FieldValue(1,2,3…n) |
Output |
The output property into which the field values are written. This is always of type property. FieldName and FieldValue must be defined in pairs. That is, for each FieldName defined, define a FieldValue as well. |
Status |
Output |
The status of the GetFieldValue operation. The status can have one of two values:
Following any data operation, use the Status field to check for error conditions and take appropriate actions. See Handling Business Rules Processor Errors for information on error handling. |
About SetFieldValue Method
Use this method, described in the following table, to set a value of a business component field.
Parameter Name | Direction | Description |
---|---|---|
BusCompName |
Input |
The name of a business component where the field to be updated is located. |
FieldName(1,2,3…n) |
Input |
The name of the fields to be updated. This field must be activated prior to fetching. See About Query Method. |
FieldValue(1,2,3…n) |
Input |
The new value for the field. FieldName and FieldValue must be defined in pairs. That is, for each FieldName defined, a FieldValue must be defined as well. |
Status |
Output |
The status of the SetFieldValue operation. Status can have one of 2 values:
Use the status field to check for error conditions and throw appropriate errors. See Handling Business Rules Processor Errors for information on error handling. |
About InsertRecord Method
Use this method, described in the following table, to insert a record into a Business Component.
Parameter Name | Direction | Description |
---|---|---|
BusCompName |
Input |
The name of a business component to which a record is to be inserted. |
FieldName(1,2,3…n) |
Input |
The name of the fields to be included in the insert. |
FieldValue(1,2,3…n) |
Input |
The value for the field. FieldName and FieldValue must be defined in pairs. That is, for each FieldName defined, a FieldValue must be defined as well. |
Status |
Output |
The status of the InsertRecord operation. Status can have one of 2 values:
Following any data operation, use the Status field to check for error conditions and take appropriate actions. See Handling Business Rules Processor Errors for information on error handling. |
About NextRecord Method
Use the NextRecord method, described in the following table, to advance to the next record in a list of business component records.
Parameter Name | Direction | Description |
---|---|---|
BusCompName |
Input |
The name of a business component. |
Status |
Output |
The status of the NextRecord operation. Status can have one of 2 values:
Following any data operation, use the Status field to check for error conditions and take appropriate actions. See Handling Business Rules Processor Errors for information on error handling. |
Invoking the Business Rule Processor
A business rule process can be invoked from a workflow or Siebel script. While the processor cannot be directly invoked from a run-time event, it can be invoked from a workflow that is triggered by a runtime event. For all three of these invocation methods, you can prepopulate global variables through the input arguments of the BRP. Input argument names must match the global variables you define.
For an example of how to invoke the BRP from a run-time event or a workflow, see the process for Data Validation Manager in Siebel Order Management Guide.
For information on invoking the BRP from with eScript, see Using eScript to Invoke the Business Rule Processor.
The FINS CAP Processor Service Business Services exposes three methods, described in the following table.
Method - Description | Input Arguments | Output Arguments |
---|---|---|
LoadProcess - The named calculation process definition is loaded, and an executable instance of the process is instantiated in the current Web session. |
System_ProcessName - The name of a calculation process. |
None. |
RunProcess - This method executes the named process. If the process definition has not been loaded, the processor loads the definition first. Whenever a BRP process is executed, the processor checks if the current process definition cached in the OM instance. If not, the processor instantiates the process definition into the OM instance. |
System_ProcessName - The name of a calculation process. |
System_ErrorCode System_ErrorMessage System_ErrorSource Return Codes. See Handling Business Rules Processor Errors. |
ReleaseProcess - This method releases the named process executable in the current Web session. This does not affect other open Web sessions. |
System_ProcessName - The name of a calculation process. |
None. |
Using eScript to Invoke the Business Rule Processor
The following is an illustration of how to invoke the BRP using eScript.
Example of Loading the BRP Business Service
This example provides a sample eScript that loads a BRP process definition.
var psIn = TheApplication().NewPropertySet(); var psOut = TheApplication().NewPropertySet(); var bs = TheApplication().GetService("FINS CAP Processor Service"); psIn.SetProperty ("System_ProcessName", "MyBRPProcessName"); bs.InvokeMethod("LoadProcess", psIn, psOut)
Example of Running the BRP Business Service
This example provides a sample eScript that executes a BRP process definition. The script also shows how to pass an input argument (g_AssetId) to a BRP process.
function WebApplet_PreInvokeMethod (MethodName) { if (MethodName == "InvokeMyBRP") { var psinputs = TheApplication().NewPropertySet(); var psoutputs = TheApplication().NewPropertySet(); var oBusObj = TheApplication().ActiveBusObject(); var oBusComp = oBusObj.GetBusComp("FINS Group Policy"); var sAssetId = oBusComp.GetFieldValue("Id"); psinputs.SetProperty ("g_AssetId", sAssetId); psinputs.SetProperty ("System_ProcessName", "MyBRPProcessName"); var obs = TheApplication().GetService("FINS CAP Processor Service"); obs.InvokeMethod ("RunProcess",psinputs, psoutputs); return (CancelOperation); } return (ContinueOperation); }
Logging Business Rules Processor Debug Messages
BRP provides different levels of execution logging in the form of trace files to facilitate debugging a process. Currently, there are two levels of BRP logging, described in the following table.
Level | Severity | BRP Implementation |
---|---|---|
4 |
Detail |
Log the execution and initialization path of the BRP process without details. |
5 |
Debug |
Log execution details. Under this level of logging, the values of local and global properties are logged as a part of the assignment statements.
Tip: To check the value of a variable, use a dummy assignment step.
|
The BRP log level is set with the environment parameter SIEBEL_FACAP_LOG_EVENTS.
BRP logging is written to the Siebel object manager log file. In order to enable BRP logging, the Siebel log level must also be informational or higher. For a mobile client, set the workstation system environment parameter SIEBEL_LOG_EVENTS = 3.
The SIEBEL_LOG_EVENTS can be set from Server Administration. Refer to Siebel System Administration Guide for more information.
In BRP logs, each local property is appended with its procedure name. For example, if a local property was defined as local_dMyIncome in Procedure Main, within the log file, this property would be identified as Main@local_dMyIncome.
Requirements Manager
The topic is about the Requirements Manager business service and includes the following topics:
About Requirements Manager
The Requirements Manager is a business service that automatically generates activities, customer submissions, and workflows required at predetermined steps in the business process.
For example, a loan applicant might be required to submit proof of employment, account statements, and other documents. The Requirements Manager allows a business analyst to specify conditions under which certain documents would be required in order to move the application process forward. The business service is invoked at a predetermined point during the application process to generate the appropriate follow-up activities for customer submissions.
The Requirements Manager can be applied to a wide variety of usage scenarios including service processes such as the auto-creation of a fund transfer service request. Some examples of Requirements Manager scenarios are:
Life Insurance. A life insurance policy might require a trailing document (a physical exam), an activity (such as an interview with an underwriter), and several forms to complete. If the product type = life insurance for instance, this set of requirements might be selected. However, an exclusion rule might be present to eliminate the need for the underwriter interview if the policy was for less than $100,000.
Mortgage Application. A mortgage application might require several documents, several disclosures, two annual tax returns (documents), an appraisal (activities), and a credit check (workflows) to complete. This set of requirements might be run for every mortgage, but there might be an exclusion rule such that if the loan-to-value is less than 50%, the tax returns are not required.
The Closing Requirement view is preconfigured in the Applications and Life & Annuities screens. You can use this to view the output of the Requirement Manager business service, for requirement templates defined on the FINS Application, and FINS Life Policy business objects respectively.
Key Features of Requirements Manager
The Requirements Manager business service provides the following key features:
Define multiple requirement templates that supports version control
Provide support for conditional expression in each requirement template
Define record templates that can insert records into any Siebel business object and component
Invoke predefined workflows automatically to support the processes
About Invoking Requirements Manager
Requirement Manager is invoked the same as any other business service; through a workflow, run-time event, or script. At the time of execution, the service evaluates the various templates from which to execute, and executes each requirement where the exclusion rule evaluates to false.
Administering Requirements Manager
Administering the Requirements Manager business service involves the following steps:
Optionally, you can create record group templates in order to aggregate other record group template and record templates. See Creating Record Group Templates.
Creating Record Templates
The Record template is used to define templates that work in a specific business object/ component. It also defines the fields that automatically populate the template in that business object/component. Upon execution, the business service generates a record in the business object/business component and populates the fields according to the specified template.
To create a record template
Navigate to the Administration - Record Template screen, and then the Record Template view.
In the Record Template list, create a new record, and complete the fields described in the following table.
Field Description Template Name
Name for the record template.
Display Name
The display name of the template as seen in the UI.
Business Object
The business object for the template to be enabled.
For example, to auto populate a record in the Applications or Life & Annuities screen, you must select FINS Application or FINS Life Policy business objects, respectively.
Business Component
Business Component on the selected business object.
The Record Template Administration view is preconfigured so you can specify the prefill of two applets in the Closing Requirements view: activities and documents.
For example, to prefill the record in one of these two applets, you must select Action or INS Policy Document, or FINS Application Mortgage Trailing Documents business component.
In the Fields list, create a new record and complete the fields as described in the following table.
Field Description Sequence #
Sequence number for the fields.
Field Name
The field name in the specified business component.
Pre-Default Value
The prefilled value for the field.
Note: You can put conditional statements on this field.Business Component
Read-only field of the business component name.
In the Related Record Template list, create a new record and complete the fields.
The Related Record Template applet is used to specify child and grandchild of record templates. Upon execution, the business service inserts a record as specified in the parent record template, as well as all records specified in child and grandchild templates.
Creating Requirement Templates
The Requirement Template is used to aggregate several record templates. The record template specified in Creating Record Templates only inserts one record in the business object/ business component. Insert multiple records in different business objects/components, by aggregating multiple record templates in a single requirement template. Additionally, in a requirement template, you can specify a workflow to invoke.
To create a requirement template
Navigate to the Administration - Requirement Template screen, and then the Workflows view.
In the Requirement Template list, create a new record and complete the fields described in the following table.
Field Description Template Name
Name for the requirement template.
Display Name
The display name of the template as seen in the UI.
Business Object
The business object for the template to be enabled.
For example, to pick the template name in Applications or Life & Annuities screen, you must select FINS Application or FINS Life Policy business objects, respectively.
Business Component
Business Component on the selected business object.
For example, to be able to pick the template name in the Applications or Life & Annuities screen, you must select Opportunity or FINS Life Policy business components, respectively.
Condition
A valid Siebel query language expression. If this conditional expression evaluates to True then the rules under the rule-set would be evaluated.
Tip: Use the expression builder to test the validity of conditional expressions.Version
The version number of the template.
Note: When you select the Revise button, the Siebel application automatically versions the template.Status
Status of the template with values: active, pending active, inactive, outdated, and in progress.
Start Date
Start date for the template.
You can specify a date in the future, and when activated, the status of the template changes to Pending Active. The application automatically changes the status to Active on the specified date and time, and executes the appropriate version of the template.
End Date
End date for the template.
The application sets the status of the template to Outdated once the specified end date arrives.
In the Workflow list, create a new record and complete the fields described in the following table.
Field Description Sequence #
Sequence number for the workflow.
Workflow Name
Name of the workflow that is enabled for the business object/business component specified in the requirement template.
Note: The workflow called here must be deployed and active. Please see Siebel Business Process Framework: Workflow Guide for further information.Exclusion Rules
A valid Siebel query language expression. If this conditional expression evaluates to True, then the workflow is excluded.
Execute Immediately
A flag to automatically execute the workflow when the requirement template is executed. This field must be empty to execute the workflow manually.
See Using Requirements Manager for information on executing the workflow manually.
Workflow Context
A text field passed as process properties to the workflow.
The format of this field must be in the form of comma delimited, Name-Value pairs. For example:
"State", "CA", "Source BusComp", "FINS Life Policy"
Where State and Source BusComp are property names, and CA and FINS Life Policy are property values, respectively.
Business Component
Read-only field similar to the business component specified in the requirement template applet. Identifies the business component on which the exclusion rules are evaluated.
Click the Record Template view tab.
In the Record Template list, create new record, and complete the fields as described in the following table.
Field Description Template Name
Select the template you want to associate with the requirement template.
Exclusion Rule
A valid Siebel query language expression. If this conditional expression evaluates to True, then the record template is excluded.
Expectation Set
A flag to automatically invoke the Customer Expectations Manager.
Note: The Customer Expectations Manager must be previously set for this to work. Please see Using the Customer Expectations Manager for more information.Auto-Assign
A flag to automatically invoke the Siebel Assignment Manager.
Note: Assignment Manager must be previously set for this to work. Please see Siebel Assignment Manager Administration Guide for more information.In the Requirement Template list, click Activate.
(Optional) To revise the requirement template, click Revise.
(Optional) To deactivate a requirement template, click Deactivate.
Using Requirements Manager
Use the Closing Requirement view, enabled in the Applications and Life & Annuities screens, to view the output of the Requirement Manager business service, for requirement templates defined on the FINS Application, and FINS Life Policy business objects respectively. However, through configuration, the Requirements Manager can be invoked from any screen.
When invoked, the business service automatically prefills the target list or form with records as defined in the Administration - Requirement Template screen.
To invoke Requirements Manager
Navigate to either:
Applications screen, Application List view, and then the Closing Requirements view
Life & Annuities screen, Life Policy List view, and then the Closing Requirements view
In the Templates list, create a new record.
Select the template name as defined in Creating Requirement Templates.
In the Templates list, click Execute.
Requirements Manager prefills Activities, Workflow, and Documents lists based on the records specified in the Administration - Requirement Template screen.
Complete the fields in the Activities, Workflow, and Documents lists.
Creating Record Group Templates
The Record Group Template is used to define a template that works in a specific business object/component. The Record Group Template is used to aggregate other record group template and record templates. A record group template is based on the business component relationship defined in the business object layer. You can use the record group template to recursively execute interrelated business components, and generate data in a particular business component.
A record group template can include other related record group templates and related record templates. When the business service executes a record group template, it automatically, recursively executes any other related record template or related record group template defined.
Creating a Record Group Template involves the following steps:
Creating Record Group Templates
Creating Related Record Group Templates
Creating Related Record Templates
For an example of setting up a record group template, see Example of Using Requirements Manager for Record Group Templates.
To create a record group template
Navigate to the Administration - Record Template screen, and then the Record Group Template view.
In the Record Group Template list, create a new record and complete the fields described in the following table.
Field Description Template Name
Name for the record group template.
Display Name
The display name of the template as seen in the UI.
Business Object
The business object for the template.
Business Component
The business component on the selected business object.
In the Related Record Template list, create a new record and complete the fields described in the following table.
You can use the Related Record Template list to specify a child of the record group template. Upon execution, the business service inserts a record in the business component on which the record template is defined, for the corresponding parent record.
Field Description Template Name
Name of the child template record.
Exclusion Rules
A valid Siebel query language expression. If this conditional expression evaluates to True, then the related record template is excluded.
Repeat Expression
A field indicating the number of times the record template must be executed within the context of the parent record group template. By default this is set to 1.
Business Component
Read-only field. Identifies the business component on which the exclusion rules are evaluated.
In the Related Record Group Template list, create a new record, and complete the fields described in the following table.
You can use the Related Record Group Template list to specify the child record group template. Upon execution, the business service executes the business component on which this record group template is defined, within the context of the corresponding parent record group template.
Field Description Template Name
Name of the related record group template.
Exclusion Rules
A valid Siebel query language expression. If this conditional expression evaluates to True, then the related record template is excluded.
Business Component
Read-only field. Identifies the business component on which the exclusion rules are evaluated.
Example of Using Requirements Manager for Record Group Templates
This topic provides an example of configuring record group templates for automatically generating vehicle coverages.
Record group templates can be used to automatically generate default coverage for vehicles in an auto policy.
To setup auto coverage
Navigate to the Administration - Insurance screen, and then the Auto Coverages view.
For each auto coverage in the Coverage Administration list, in the Coverage Values list, check the default flag for one of the values.
Configuring a Record Group Template for Generating Vehicle Coverages
Once you have set up auto coverage, in this example you next configure a record group template for generating vehicle coverages.
To configure a record group template for generating vehicle coverages
Navigate to the Administration - Record Template screen, and then the Record Template view.
Create a new record in the Record Template list, and complete the necessary fields described in the following table.
Field Value Template Name
INS Vehicle Default Coverage
Display Name
Auto Default Coverages
Business Object
INS Policy
Business Component
INS Vehicle Default Coverage
Leave the Fields list empty.
The predefault values set for the fields in this business component in Siebel Tools will be considered during execution.
Click the Record Group Template link bar, create a new record in the Record Group Template list, and complete the fields described in the following table.
Field Value Template Name
INS Vehicle Available Coverage Value Template
Display Name
INS Vehicle Available Coverage Value Template
Business Object
INS Policy
Business Component
INS Vehicle Available Coverage Value
Condition
[Default]='Y'
In the Related Record Template list, create a new record and pick the record template defined in Step 2.
Create another new record in the Record Group Template list, and enter the values as shown in the following table.
Field Value Template Name
INS Vehicle Template
Display Name
Default Vehicle Coverage Template
Business Object
INS Policy
Business Component
INS Vehicle
In the Related Record Group Template list, create a new record and pick the record group template defined in Step 2.
Creating a New Auto Policy
Once you have configured a record group template for generating vehicle coverages you can create the new auto policy.
To create a new auto policy
Navigate to Auto Policies screen and create a new policy.
Drill down on the Policy # record to navigate to the Quick Quote view and create the following records:
In the Vehicles list, create new vehicles
In the Drivers list, create new driver records
Click the Rate Model view tab.
The vehicles list displays the vehicles created in the previous step.
Select a vehicle record and click Default Coverages.
The Select Templates to Run dialog box appears, and displays the template defined in Step 6 after evaluating any conditional expressions defined.
In the dialog box, click Execute.
Default Vehicle Coverages are automatically created in the Vehicle Coverage list for the selected vehicle record. These default coverages correspond to the default coverages selected in the Administration - Insurance views in Step 2.
Customer Authentication Manager
Financial service institutions require customer authentication before a financial transaction can take place. Furthermore, authentication becomes important as privacy and security regulations have become common in the retail banking, and also make their way into insurance and healthcare businesses.
Typically, a bank might enforce tiered authentication policies that require a basic validation for transactions up to certain limit, and require more rigorous transaction-based authentication for transactions over the limit. In certain cases, for customers who perform regular high-value transactions, the bank might use token validation, common ones being RSA tokens, or scratch lists.
Customer Authentication Manager is a utility that can be used to implement a secure and auditable customer authentication during a sales or service process. You can use the Customer Authentication Manager to prompt customer service representatives to authenticate a caller before providing any service. It provides the following key features:
Ability to define multiple authentication templates using fields from the contact profile
Rules-based, context sensitive invocation of authentication template
Access from the global toolbar
Audit trail of past authentication events; facilitates quick and accurate conflict resolutions
Ability to define success and failure workflows to take appropriate actions
Administering Customer Authentication Manager business service involves the following steps:
Creating Customer Authentication Templates
Customer authentication templates define the credentials used for authentication and the actions that follow a successful or a failed authentication attempt.
To create a customer authentication template
Navigate to the Administration - Application screen, and then the Authentication Template view.
In the Templates list, create a new record, and complete the necessary fields described in the following table.
Field Comments Name
Name for the authentication template.
Description
Description for the template.
Success Workflow
Invoke this Siebel workflow if the authentication is successful.
The workflow called here must be deployed and active. The fields used for authentication are passed as process properties to this workflow.
Tip: Use the success workflow to log the status of the authentication for audit purposes.Failure Workflow
Invoke this Siebel workflow if the authentication failed.
The workflow called here must be deployed and active. The fields used for authentication are passed as process properties to this workflow.
Default
If flagged as default, this template is used as the default template. The default template is invoked if all rules defined in the Authentication Rules fail.
Only one template can be flagged as default.
Alternate Template
Defines an alternate template to use for authentication if the caller fails to authenticate using the current template. The alternate template is invoked by clicking the alternate button on the authentication pop up window.
In the Credentials list, create a new record, and complete the fields described in the following table.
Field Comments Business Object
Business Object for the credential field.
In the current Siebel release, the Contact business object is the only business object that is available for use. Hence, this field is predefaulted and read-only.
Business Component
Business Component reference for the credentials field.
The business component used here must be a valid business component on the Contact business object.
Field Name
Name of the business component field.
Only single value fields are supported; multi-value fields are not supported and might cause system instability if used.
Display Name
The display name for the business component field. This specifies the label for the field at run time.
Search Specification
For any one-to-many contact business component, the search specification provides the criteria to narrow selection to a single record.
Required Flag
Flag indicates that the field must be verified for the authentication to be successful. If a required field is not confirmed at run time, the authentication fails.
Defaults to No.
Defining Customer Authentication Rules
Customer authentication rules define the logic to select an authentication template. When the authentication manager is invoked, the business service steps through each rule for all applicable rule-sets to find a rule that evaluates to true. The template defined against this rule is used for authentication. If no rules are defined, or if none of the rules succeed, the default template, if defined, is used for authentication.
To create a customer authentication rule
Navigate to the Administration - Application screen, and then the Authentication Administration view.
In the Rule Sets list, create a new record, and complete the fields described in the following table.
Field Comments Name
Name for the authentication rule set.
Description
Description for the rule set.
Business Object
Business Object context for evaluating the rules.
Business Component
Business Component context for the conditional expression and rules evaluation.
Conditional Expression
A valid Siebel query language expression. If this conditional expression evaluates to True, then the rules under the rule-set are evaluated.
Tip: Use the expression builder to test the validity of conditional expressions.Active Flag
Flag to activate or inactivate a rule-set.
The field predefaults to Inactive.
Note: If the conditional expression is not used, there must be only one rule-set for each business object or business component defined. If there are multiple rule-sets for the same business object or business component, and a conditional expression is not defined, then the sequence of examination is undefined.In the Rules applet, create a new record, and complete the fields described in the following table.
Field Comments Sequence
Sequence number for rule evaluation.
Business Component
Business component reference for the expression evaluation.
This field predefaults to the BC on the rule-set definition, and is a read-only field.
Inclusion Expression
Siebel query language expression that specifies the rule.
If this conditional expression evaluates to True, then the template associated with the rule is selected; further evaluation of the rules is aborted.
Tip: Use the expression builder to test the validity of Inclusion expressions.Template Name
The authentication template to use if the rule succeeds.
Invoking Customer Authentication Manager
Customer Authentication Manager is available preconfigured on the Contact, Members, and Providers screens. However, using Siebel Workflow, you can invoke the Customer Authentication Manager from any screen that contains a Contact, Member, or Provider business component.
To authenticate a contact
Navigate to the Contacts List view.
Select the contact to authenticate and click the Authentication Manager icon on the toolbar.
The Siebel Authentication Manager dialog box appears.
Check the Confirmed checkbox for each field listed, as described in the following table.
To... Click... Authenticate.
Authenticate.
If all required fields are confirmed, the authentication succeeds.
Use an alternate template.
Alternate.
If an alternate template is defined, it appears.
Cancel authentication.
Cancel.
Note: When Authentication Manager is invoked, if a matching template is not identified, an error message appears.
Configuring Customer Authentication Manager to Handle More Fields
By default Customer Authentication Manager is configured to handle only a maximum of three fields. To use more than three fields in Customer Authentication Manager, you must add more virtual fields to the authentication business component, and expose them through the appropriate applet.
To configure Authentication Manager to handle more fields
Log in to Siebel Tools or Web Tools.
Create a workspace.
Navigate to the FINS Authentication Manager UI business component.
The following fields are defined for the business component:
Field0, Field1 and Field2
Required Flag0, Required Flag1, and Required Flag2
Ten confirmed flag fields
Define a new field called, Field3.
Define a new field called, Required Flag3.
Add a new confirmed flag field if you have more than 10 authentication fields.
Navigate to the FINS Authentication Manager Popup Form Applet.
Go to applet Control, and add the new fields: Field3, Required Flag3.
Add a confirmed flag field if you have more than five authentication fields. (The applet already contains five confirmed flag fields).
Add the fields and corresponding labels to the applet templates.
Deliver the changes to the integration branch.
Using the Calculation Manager
The Siebel Calculation Manager is designed to allow financial services institutions to declaratively define and execute simple to moderately complex calculations within their Siebel application. It is implemented as a business service that accepts input parameters for calculation, and the results are available as output parameters. The Calculation Manager is tightly integrated into the Siebel application architecture and can use Siebel Business component fields for input or output. The business service facilitates specification of embedded calculation by business analysts.
Some examples of how Siebel Calculation Manager could be used:
Loan Payment Schedule. The term, amount, and interest rate of a consumer installment loan are captured in a Siebel Application. Calculation Manager is invoked to generate a schedule of the amounts due, split by principle and interest for each month of the term. The user evaluates the schedule, runs several what-if scenarios with different loan amounts, and then exports the schedule to an excel spreadsheet.
Currency Conversion. A user wants to know the value of $100,000 in Japanese yen at the current exchange rate. Calculation Manager is invoked, and an input dialog box is presented. The current exchange rate has been prefilled into the dialog box. The user enters 100,000 as an input, and clicks Calculate to see the result. The results are not saved.
Early Withdrawal Penalty Calculation. A customer wants to remove money from a retirement account he holds, but there is a penalty involved. The calculation of the penalty is complex, and has been entered into the Siebel application as eScript. Upon invoking the Calculation Manager, the Siebel application pulls in the variables necessary for the penalty calculation and runs the eScript. The result is saved in the Siebel business component.
Specifying Calculation Rules
Calculations are entered as calculation rules in a list, similar to how validation rules or Siebel personalization rules are administered.
Calculation rules are specified in three stages:
Specify a calculation rule-set.
Specify variables used in the calculation.
Specify calculation details.
To specify a calculation rule-set
Navigate to the Administration - Application screen, and then the Calculation Manager view.
In the Rule Sets list, create a new record, and complete the fields described in the following table.
Field Comments Name
Calculation rule set name. Rule-set names are language independent.
Comments
Rule set description.
Business Object
Business object context for evaluating the rules.
Array Output Business Component
Business component context for writing the output of an array calculation, such as Amortization table calculation.
Active Flag
Flag to activate the calculation rule set. By default a calculation rule set is inactive.
Script Flag
Flag to indicate that the calculation rule is specified as a script, rather than declarative rules.
Type
List of values that provide the ability to categorize rules for easier administration.
Applet Title
Title for the pop-up applet that appears when the calculation manager is invoked in the interactive mode.
Specifying Variables
After specifying a calculation rule-set, you must specify variables.
To specify variables
Navigate to the Administration - Application screen, and then the Calculation Manager view.
Select a Rule Set for which you want to specify variables.
In the Variables list, create a new record and complete the fields described in the following table.
Field Comments Sequence Number
Sequence number for the variable specification. The variables on the pop-up applet appear in the sequence specified.
Name
Internal name for the variable used when specifying the calculation rule.
Variable names can contain a maximum of 35 characters and cannot include spaces or arithmetic operators.
Display Format
Display format for the variable. Example,
$###.##
Display Name
Label for the variable when presented to the user.
Type
Type of variable. Values are Input, Output, or Output Array.
Business Component
Business component context for the variable.
BC Field Name
Business Component field name.
If the variable is an:
Input variable, the run-time value of the business component field name is assigned to this variable.
Output variable, the value calculated for the variable is written into the business component field name.
Optional
Optional variables are variables not critical to the calculation, but might be specified to alter the calculation.
This flag defaults to No.
Default Value
Default value for the variable in the calculations. This value appears in the dialog box for the variable.
Testing Value
Value for the variable when the Calculation Manager is invoked in the simulator.
Suppress Display
Flag to indicate that the variable is hidden, and not displayed when calculation manager is invoked in the interactive mode.
Variable Include
Include the variable in the script generation.
Specifying Calculation Details
After specifying variables, you can specify calculation details.
To specify calculation details
Navigate to the Administration - Application screen, and then the Calculation Manager view.
Select a Rule Set for which you want to specify calculation details.
In the Rules list, create a new record, and complete the fields described in the following table.
Field Comments Sequence Number
Sequence number for the rule execution.
Expression
Calculation expression. The expression is guided by the following:
Operator Support. All basic arithmetic operators, including exponents, are supported (+,-,*,/,^). Nested quantities (that is parentheses) are also supported.
Simple Calculations. Simple calculations, such as a+b=c, are defined in a single row.
Compound Calculations. Multiple rows of calculations specified in a single Template. This enables multiple variables to be calculated independently, and then used in subsequent calculations.
For-Next Logic. Simple looping enables the generation of arrays. Use a For statement and a Next statement to accomplish looping. Example:
row 1: For N=1 to Period,
row 2: [calculation]
row3: Next N
For-Next loops might be nested.
If-Then-Else Logic. Simple If-Then-Else logic is supported declaratively. As in the case of For-Next, If-Then-Else statements appear on multiple rows of the calculation set. Nesting of If-Than-Else statements is supported.
Example of Using Embedded eScript for Mortgage Calculation
For compound calculations, embedded eScript is a more appropriate mechanism. The following is an example of a mortgage calculation using eScript:
var Amount= 0; var NumPeriods= 0; var Rate= 0; var InterestPaid = new Array; var Payment = new Array; var Period = new Array; var PrincipleBalance = new Array; var PrinciplePaid = new Array; var PeriodPayment = 0; var TotalInterest = 0; var TotalPayment = 0; function GetInput (Inputs) { with(Inputs) { var temp; temp = GetProperty("Amount"?); if (temp.length!=0) Amount= ToNumber(temp); temp = GetProperty("NumPeriods"); if (temp.length!=0) NumPeriods= ToNumber(temp); temp = GetProperty("Rate"); if (temp.length!=0) Rate= ToNumber(temp); } } function Main() { Period[0] = 0; InterestPaid[0] = 0; PrinciplePaid[0] = 0; Payment[0] =0; PrincipleBalance[0] = Amount; Rate = Rate /1200; PeriodPayment = Amount / (1.00/Rate - (1.00/Rate)/Math.pow((1.00+Rate), NumPeriods)); for(var i=1; i<=NumPeriods-1; i++) { Period[i] = i; InterestPaid[i] = PrincipleBalance[i-1]*Rate; Payment[i] = PeriodPayment; PrinciplePaid[i] = Payment[i]-InterestPaid[i]; PrincipleBalance[i] = PrincipleBalance[i-1] - PrinciplePaid[i]; } TotalPayment = NumPeriods * PeriodPayment; TotalInterest = TotalPayment - Amount; } function Service_PreInvokeMethod (MethodName, Inputs, Outputs) { GetInput(Inputs); Main(); SetOutput(Outputs); return( CancelOperation ); } function SetOutput (Outputs) { Outputs.SetType("Result"); var psArray = TheApplication().NewPropertySet(); psArray.SetType("Array"); var len = InterestPaid.length; for(var j=0; j<=len-1; j++) { var psArrayElement = TheApplication().NewPropertySet(); psArrayElement.SetProperty("InterestPaid",InterestPaid[j]); psArrayElement.SetProperty("Payment",Payment[j]); psArrayElement.SetProperty("Period",Period[j]); psArrayElement.SetProperty("PrincipleBalance",PrincipleBalance[j]); psArrayElement.SetProperty("PrinciplePaid",PrinciplePaid[j]); psArray.AddChild(psArrayElement); } Outputs.AddChild(psArray); var psPeriodPayment= TheApplication().NewPropertySet(); psPeriodPayment.SetProperty("PeriodPayment",PeriodPayment); Outputs.AddChild(psPeriodPayment); var psTotalInterest= TheApplication().NewPropertySet(); psTotalInterest.SetProperty("TotalInterest",TotalInterest); Outputs.AddChild(psTotalInterest); var psTotalPayment= TheApplication().NewPropertySet(); psTotalPayment.SetProperty("TotalPayment",TotalPayment); Outputs.AddChild(psTotalPayment); }
Invoking Siebel Calculation Manager
Siebel Calculation Manager is invoked from within a Siebel workflow and can be triggered using a mini-button on an applet. Use a business service step to invoke Siebel Calculation Manager in a workflow.
Using the FINS Calculation Engine Business Service and the Calculate business service method, set the input arguments as described in the following table. There are no output arguments for this business service.
Name | Type | Comments |
---|---|---|
Rule Expression Name |
Literal |
Calculation Rule name |
Primary BC Name |
Literal |
Primary Business Component name |
Primary BC Rowid |
Process Property |
Typically the Object Id of the Workflow |
Save To BC |
Literal |
Y or N |
Child BC Name (Optional) |
Literal |
Child Business Component name |
Child BC RowIdn (Optional) |
Literal |
Child Business Component row id |
When invoked interactively, the calculation manager displays a pop-up dialog box with the input and output arguments. Perform the calculation by entering all input arguments and clicking the Calculate button. A second pop-up dialog box appears with the calculated values. Finish the calculation by clicking the Cancel button.
Using the Customer Expectations Manager
Managing customer expectations around the length of time it takes to complete their requests is crucial in maintaining customer satisfaction. Although many financial transactions complete in seconds, a number of key relationship—enhancing tasks require lead time of one or more days to complete. For example:
Bank check deposits might not be available for immediate withdrawal and are subject to clearing.
Credit and insurance applications typically undergo an underwriting process where the application is evaluated for its creditworthiness, risk profile, and other factors that go into approval and pricing. Fast turnaround is a competitive differentiator.
Healthcare service complaints and grievances are handled through a structured review and appeals process. In many jurisdictions, the processing of the complaints and grievances must meet regulatory standards.
The Siebel Customer Expectations Manager (CEM) provides the ability to use historical estimates of task completion times to aid the customer service representative in setting expectations for service completion. It is most useful in situations where a standardized process is being executed, and there is a need to estimate the expected completion date. Siebel CEM has the following two key features:
Ability for an administrator to input the factors governing the time to complete task.
A run-time engine that sets Due Date and Expected Close Date for the enabled objects.
Note: For CEM compared to Agreements/Entitlement Metrics, it is possible to establish an agreement for an account that includes entitlements mandating the completion of Service Requests within specified entitlement metrics. When these are setup, and the user navigates to the Service screen, they see a Verify button. Clicking this button invokes the calculation of an Agent Committed Time. The entitlement metrics calculate a contracted due date. In contrast, CEM calculates an estimated completion time or due date based on how long a process historically takes to complete. In cases where a service agreement is in place, the contracted dates take precedence.
Defining Customer Expectation Manager Rules
The CEM administration screen holds the historical estimates for task completion times and the rules for selecting an appropriate line. When CEM is invoked, the business service steps through each rule for all applicable rule-sets to find a rule that evaluates to true. The estimates defined against this rule are used for calculation of expected times.
To create a CEM rule
Navigate to the Administration - Application screen, and then the Customer Expectations Manager view.
In the Rule Sets Applet, create a new record, and complete the fields described in the following table.
Field Comments Name
CEM rule set name.
Business Object
Business object context for evaluating the rules.
Business Component
Business component context for the conditional expression and rules evaluation.
Conditional Expression
A valid Siebel query language expression. If this conditional expression evaluates to True, then the rules under the rule-set would be evaluated.
Tip: Use the expression builder to test the validity of conditional expressions.Active Flag
Flag to activate or inactivate a rule-set.
The field predefaults to Inactive.
Note: If the conditional expression is not used, there must be only one rule-set for each business object/business component defined. If there are multiple rule-sets for the same BO/BC, and a conditional expression is not defined, then the sequence of examination is random.In the Rules list, create a new record, and complete the fields described in the following table.
Field Comments Sequence
Sequence number for rule evaluation.
Business Component
Business component reference for the expression evaluation.
This field predefaults to the BC on the rule-set definition and is a read-only field.
Conditional Expression
Siebel query language expression that specifies the rule.
If this conditional expression evaluates to True, then the estimates associated with the rule is selected; further evaluation of the rules is aborted.
Tip: Use the expression builder to test the validity of Inclusion expressions.Name
Unique name for the rule.
Used to improve performance of the rule-set search during execution. Internally, a user key is constructed on the name field.
Schedule
Schedule to use for calculating the expected completion times for the task.
Schedules govern the working hours, holidays, and downtime. If selected, the start time for the task is calculated using the schedule.
Schedules are administered by navigating to the Administration - Service screen, and then the Schedules view. Refer to Siebel Field Service Guide for details on schedule administration.
Use Employee Schedule
If flagged, the employee schedule is used to calculate the start time. Employee schedule override the default schedule.
Unit
Unit of measure for the preparation, expected and slack times. Valid units: Minutes, Hours, or Days.
Preparation Time
Queue time for the task.
Expected Time
Expected time to complete the task.
Slack Time
Time buffer to allow for deviations from the expected completion time.
Auxiliary Field
(Optional) Specify Business Component field-value pairs. The specified fields are updated with the values based upon the rule selected. Example:
"Priority","0-ASAP"
Invoking Customer Expectations Manager
In the current version of Siebel Financial Services, CEM is enabled for the Service Request object.
To invoke CEM
Click the Calculate Dates button on the Service Request form.
The CEM business service is invoked, and based on the administrative setup a pop-up dialog box appears with the expected completion dates for the service request.
Closing the dialog box, the expected completion times are written into the current service request.
Click the show more button on the Service Request form to view the expected completion times in the Internal Tracking - Expected Times section.
Automating Approval Processing
In Siebel Finance, administrators can define a number of approval levels without the need for programming, scripting, or configuring. You can define both basic or multiple step approval processing levels based on the needs of your organization. You can invoke approval processing from a workflow or a run-time event.
Automating an approval process involves the following steps:
Administrator defines approval items and approval stages.
For more information, see Defining Approval Items and Approval Stages.
Administrator invokes approval processing.
For more information, see Invoking FINS Approval UI Service from a Workflow.
End users approve or decline an approval stage.
For more information, see Approving or Declining Approval Stages (End User).
Defining Approval Items and Approval Stages
An administrator defines the approval process by creating approval items and approval stages in the Approval Admin view.
To define approval items and stages
Navigate to the Administration - Application screen, and then the Approval Admin view.
In the Approval Item list, add a record and enter a name in the Approval Item field.
In the Approval Flow Type field, select one of the following:
Sequential. Indicates this Approval Item is distributed to approvers one after another in the sequence specified in the Approval Stage. The application routes the Approval Item to the next approver only if the current approver approves the request. If any approver in the approval chain declines the request, the Approval Item is rejected and no further routing is conducted.
Parallel. Indicates this Approval Item is distributed to all approvers simultaneously for approval. The Approval Item is rejected if at least one approver declines the approval request.
Once you have defined an Approval Item, the next step is to define the appropriate approval stages. The Approval Item and Approval Stage lists have a parent-child relationship.
In the Approval Stage list, add a record for each approval stage and complete the fields described in the following table.
Field Comments Sequence #
Identifies the numeric sequence of this Approval Stage in the current Approval Item. The application executes Approval Stages in numerical order based on this number.
Approval Type
Specifies whether the approver is a position or an employee.
Owner Login Name
Indicates the login name tied to this Approval Stage. Relevant only if Approval Type is Employee.
Owner Position
Indicates the position tied to this Approval Stage. Relevant only if Approval Type is Position.
End users use the My Approval Inbox view to approve an approval item. For more information, see Approving or Declining Approval Stages (End User).
Invoking FINS Approval UI Service from a Workflow
Invoke FINS Approval UI Service from a workflow by creating a workflow process in Siebel Tools containing the following steps:
Start. Initiates the process instance. When the conditions have been met, the application initiates the process instance. See Configuring the Start Step for details.
Business Service. A step in a process in which an automated call is made to the FINS Approval UI Service. A workflow process definition can have one or more business service steps. See Configuring the Business Service Step for details.
End. A step in a process that specifies when a process instance is finished.
In order for your workflow to execute correctly, the Start and Business Service steps must meet the minimum requirements described in the referenced topics. For more information on workflows, see Siebel Business Process Framework: Workflow Guide.
Configuring the Start Step
The following table details some of the start step parameters for the workflow process.
Field | Comments | Example |
---|---|---|
Event |
The specific event that happens to the object. The set of available events is different for different object types. |
Use the WriteRecord business component event if you want to trigger the approval process after the record is written to the database. Use the WriteRecordNew business component event if you want to trigger the approval process after a new record is written to the database. |
Event Object |
The name of the application, business component, or applet to which the event occurs. |
Contact |
Event Object Type |
The type of object to which the event occurs. This can be an application, business component, or applet. |
BusComp |
Name |
The name of the Next step branch. The name of the branch must be unique or you cannot import or export the workflow process. |
The name of the Next step branch. |
Next Step |
The name of the step that follows when conditions are met. |
Picklist of existing process steps. |
Type |
The type of branch. |
The value can be one of the following:
|
Configuring the Business Service Step
The following table details some of the business service step parameters for the workflow process.
Field | Value |
---|---|
Business Service |
FINS Approval UI Service |
Method |
Create Approval Stage |
The following table describes the input arguments for the workflow process.
Input Argument | Property Name | Comments |
---|---|---|
Approval Item ID |
Object Id |
Row Id of the object (for example, a Service Request) that needs approval processing. |
Approval Item Name |
Approval Item Name |
Name of the Approval Item defined in the Approval Admin view. |
Requesting Buscomp |
Requesting Buscomp |
Name of the business component object (for example, a Service Request) that needs approval processing. |
Approving or Declining Approval Stages (End User)
End users approve approval items in the My Approval Inbox view. Users can view approval items by login name or position. For more information on setting up approval processing, see Approving or Declining Approval Stages (End User).
To approve or decline an approval stage
Navigate to the My Approval Inbox screen.
Select one of the following views:
My Approvals. Displays all approval items associated with the user’s login name.
My Position Approvals. Displays all approval items associated the current user’s position.
To view additional details about an approval item, drill down on the Approval Identifier link.
In that Status field, select Approve or Decline.
Once you select a status, the application populates the Approval By and Approval Date field and sets the record to read-only.
Automating the Display of Disclosure Documents
Disclosure processing allows companies to comply with internal company policies and external regulations. These policies and regulations require they display disclosure statements or external documents to users, and then record whether or not they have read and understood them. Implementing the automatic display of disclosure documents involves the following steps:
Set up a disclosure by associating it with a product and literature.
For more information, see Setting Up Disclosures.
Activate the appropriate workflows.
For more information, see About Disclosure Workflows.
Invoke the Disclosure UI Service business service.
For more information, see Invoking the Disclosure UI Service Business Service.
View a disclosure history.
For more information, see Viewing Disclosures Associated with Contacts (End User).
Setting Up Disclosures
To implement disclosure processing, you must associate each disclosure with a product and then, if applicable, with the appropriate document.
To associate a disclosure with a product
Navigate to the Administration - Product screen, and then the Disclosure view.
In the Product form, query for the product.
In the Disclosure list, add a new record, and complete the necessary fields.
To activate a disclosure, select it in the Disclosure list, and click Activate.
Clicking Activate, changes the Status from In Progress to Active and makes the record read-only.
Revising an Existing Disclosure
If necessary, you can revise an existing disclosure.
To revise an existing disclosure
Navigate to the Administration - Product screen, and then the Disclosure view.
In the Product form, query for the product.
In the Disclosure list, select the disclosure to be revised, and click Revise.
Clicking Revise creates a new version of the disclosure and sets its status to In Progress.
Make the appropriate changes to the new disclosure, and click Activate.
Clicking Activate, changes the Status from In Progress to Active and makes the record read-only. The prior version of the disclosure still appears, but displays a Status of Outdated.
To associate literature with a disclosure, add a new record in the Literatures list, and complete the necessary fields.
For more information on loading literature into Siebel Finance, see the sharing literature discussion in Siebel Applications Administration Guide.
About Disclosure Workflows
Siebel Finance includes three workflows you must activate to display disclosure documents and disclosure event logging. The following table describes each of these workflows.
Workflow Process | Comments |
---|---|
FINS Disclosure |
The FINS Disclosure Workflow process accomplishes the following tasks:
|
FINS Disclosure Goto File View |
This subprocess navigates users to the Disclosure Documents list, where they can review all the disclosure documents pertaining to the selected product. This subprocess also navigates users back to the previous view after they accept or decline the disclosure. This final navigation step is accomplished by invoking the View Back method of the Disclosure UI Service. |
FINS Disclosure Create Activity Sub |
If the user accepts the disclosures, this sub process logs the disclosure activity. |
Before you can display disclosure documents, you must do the following:
-
Activate all workflow processes listed in the previous table.
For more information about activating workflows in Siebel, see Siebel Business Process Framework: Workflow Guide on Oracle Technology Network (http://www.oracle.com/technetwork/indexes/documentation/index.html).
-
Invoke the Disclosure UI Service business service.
For more information, see Invoking the Disclosure UI Service Business Service.
Invoking the Disclosure UI Service Business Service
You can invoke the Disclosure UI Service from a workflow. This topic describes some of the possible steps you can include to enable this invocation. You might want to modify and expand on this procedure to accommodate more complex business requirements. The workflow process you create must contain the following steps:
Start. Initiates the process instance. When the conditions have been met, the application initiates the process instance.
Sub Process. Calls the FINS Disclosure Workflow. When creating this step, you must populate the following inputs:
Contact Id. The Row Id of the contact who places the order of the product.
Disclosure Name. The name of the Disclosure that relates to the product.
Product Id. The Row Id of the product that the customer has ordered.
End. A step in a process that specifies when a process instance is finished.
For more information on workflows, see Siebel Business Process Framework: Workflow Guide.
Viewing Disclosures Associated with Contacts (End User)
All end users can view disclosures associated with a specific contact on the Contacts Disclosures view. This view is read-only and displays the:
Disclosure name
Date the disclosure was presented to the user
Date the user acknowledged the disclosure
Date the user accepted the disclosure
For more information on setting up disclosure processing, see Automating the Display of Disclosure Documents.
To view a disclosure history
Navigate to the Contacts screen, and then the Contacts List view.
In the Contacts list, drill down on the contact.
Click the Disclosures view tab.
SmartScript Integration with Workflow
You can invoke a SmartScript from a workflow process and pass parameters from the SmartScript to the workflow process. These business services support SmartScript integration with workflow:
FINS Web Shopping Service.
For methods, see FINS Web Shopping Service Methods.
FINS SmartScript Output Service.
For methods, see FINS SmartScript Output Service Methods.
For a detailed explanation about how to integrate SmartScript with Workflow, see Example of Integrating SmartScript with Workflow.
Example of Integrating SmartScript with Workflow
The scenario outlined in this topic is an example of how to insert a SmartScript in a workflow process. After the SmartScript ends, the workflow proceeds to the next step in the workflow process. Your company might follow a different workflow that fits its business requirements.
In this scenario, you are designing a SmartScript that allows customers to complete a loan application online. After the loan application is complete, your workflow verifies the customer’s address in an external system.
To configure SmartScript integration with Workflow
In the SmartScript, create Save User Parameters for the parameters you want to pass to the workflow. For more information on SmartScript user parameters, see Siebel SmartScript Administration Guide.
Create a Business Service step for your workflow, using the FINS Web Shopping Service business service, and enter the input arguments described in the table in FINS Web Shopping Service Methods.
Create a subprocess to invoke the SmartScript using the workflow User Interact step. The subprocess is based on the SmartScript Player business object and has three steps: a start step, a user interact step, and an end step.
In the user interact step, set the view name to FINS SmartScript Player View (App).
In the Next Steps applet, add two conditions, entering the information described in the following tables.
Field Entry Branch Name
Cancel
Type
Condition
Next Step
End
Event Object Type
Applet
Event
Invoke Method
Event Object
Smart Script Player Applet (FINS eSales App)
Subevent
CancelScript
Field Entry Branch Name
Finish
Type
Condition
Next Step
End
Event Object Type
Applet
Event
Invoke Method
Event Object
Smart Script Player Applet (FINS eSales App)
Subevent
FinishScript
Add a Business Service step using the FINS SmartScript Output Service business service. Enter the output arguments described in the table in FINS SmartScript Output Service Methods.
Now you might either end your workflow process or include additional steps, depending on your company’s business requirements. The SmartScript is integrated in your workflow process.
FINS Web Shopping Service Methods
The FINS Web Shopping Service business service methods are described in the following table.
Method | Description / Arguments |
---|---|
SetSmartScriptName |
Input Arguments:
For example, SSUserParameter1. The value for the input argument must be the exact name of the user parameter specified in the SmartScript, whose value must be passed into the workflow process at the conclusion of the SmartScript. |
FINS SmartScript Output Service Methods
The FINS SmartScript Output Service business service methods are described in the following table.
Method | Description / Arguments |
---|---|
SetOutput |
Reads the SmartScript user parameters and outputs them as workflow properties: Output Arguments:
|
Dynamic UI Business Service
This business service and associated administration views allow you to create and render views containing a single read-only applet in the Siebel Financial Services application. These views and applets, called dynamic applets, allow business analysts and developers to make frequent changes to the user interface without the need to redeploy to the Siebel Runtime Repository.
The following topics are included in this topic:
Example of Creating a Dynamic Applet with the Dynamic UI Business Service
The scenario outlined in this topic is an example of a Dynamic UI Service in a workflow process. Your company might follow a different workflow that fits its business requirements.
You would like to set up your company’s user interface to dynamically display read-only views at run time, based on user input. For example, a customer requests a quote for an auto insurance policy. The policy includes the option to cover additional drivers. After the customer enters additional driver information, the workflow process uses a Dynamic UI applet to display a read-only list of the additional drivers for review. Customers can review the list, then select an option to continue the process.
To set up a similar user interface for your business, follow the instructions that follow.
To create a dynamic applet
Navigate to the Administration - Finance screen, and then the Dynamic Applet Administration view.
In the Dynamic Applet list, click New, then enter the view alias and view name.
The view alias must be a unique name. The view name is a picklist of the views defined in the Template Definition view.
Step off the record. The Applet Instance list automatically displays the name of the applet template defined for this view.
In the Applet Instance list, enter the applet title, business object name, and business component name.
The business object and business component determine the fields to display for this applet.
If you want to set up a default search specification, enter:
Business component field. Specifies the field on which to base your search.
Default. Specifies a default value for which you want to search.
In the Field Control list, add a new record for each field you want to display. Each field control is displayed as a read-only text box with a text label. For each record, enter:
Display Sequence number. Indicates the display order for the field. For list applets, the order is first to last horizontally. For form applets, the order is first to last horizontally and first to last vertically.
Field name. The business component field whose value you want to display.
Caption. The display label for the field.
In the Button Control list, add a new record for each button you want to display. Enter the sequence number, caption, and method for each button.
Display Sequence. Indicates the display order for the button, horizontally from left to right.
Caption. The display label for the button.
Method. The method invoked when the button is clicked. The method name must begin with FrameEventMethod. For example, FrameEventMethodContinue.
Displaying Dynamic Applets in a Workflow
Workflows can invoke a dynamic applet as part of a process defined for a product application. This feature allows an application administrator to establish applet instances without requiring recompilation and redeployment of individual applets.
To integrate the dynamic applet in a workflow
Create a subprocess based on the FINS Dynamic UI business object.
Add a Dynamic UI Service business service step and invoke the Set View Name method described in the table in Displaying Dynamic Applets in a Workflow.
(Optional) Add a second Dynamic UI Service business service step and invoke the AddRecord method described in the table in Displaying Dynamic Applets in a Workflow.
Add a User Interact step to display the dynamic applet.
For the view property of the User Interact step, enter the view template name defined in Step 2 of Example of Creating a Dynamic Applet with the Dynamic UI Business Service.
For each button that might be clicked in the dynamic applet, add entries into the Next Steps list applet of the User Interact step, as described in the following table.
Field Entry Branch Name
Continue Button
Type
Condition
Next Step
End
Event Object Type
Applet
Event
InvokeMethod
Event Object
FINS Dynamic UI List Applet
Subevent
FrameEventMethodContinue
The Dynamic UI Service business service methods are described in the following table.
Method | Description and Arguments |
---|---|
Set View Name |
Input Arguments: View Alias (Required): The view alias defined in Step 2 of Example of Creating a Dynamic Applet with the Dynamic UI Business Service. |
AddRecord (Optional) |
Overrides the default search specification value. Input Arguments:
|
Creating a View Template for Dynamic Applets
Creating a view template involves first creating views and applets based on specialized applet classes within Siebel Tools. These views and applets contain placeholder fields. Placeholder fields are applet controls that are not mapped to any particular business component. The views and applets then form the basis of view templates and applet templates. You can use a single view and applet template to create any number of dynamic applets.
Two templates are provided as part of seed data: a view template containing a list applet template, and a view template containing a form applet template. The view templates are named as follows:
FINS Dynamic UI Form view. A view template that contains a form applet template.
FINS Dynamic UI view. A view template that contains a list applet template.
For more information about creating views and templates within Siebel Tools, see Using Siebel Tools.
When creating dynamic applets in Siebel Tools, note the considerations listed as follows. (Use of the word applet in the following bulleted list refers to applets created in Siebel Tools.)
When setting applet class, use:
CSSFrameListFADynamicUI for list applets
CSSFrameFADynamicUI for form applets
If using a preconfigured business component, the applet business component must be FINS Dynamic UI.
If you create your own Virtual Business Component (VBC) in Siebel Tools, the business class must be CSSBCVDynamicUI.
Dynamic Applet supports 20 fields and five currency codes (that is, five types of currency value). In your new VBC, all field names must start with the prefix Field and a number value, (for example, Field0..., Field19). All currency code fields must start with the prefix Currency Code and a number value, (for example, Currency Code0..., Currency Code4).
It is recommended that applets based on the same VBC have their corresponding views use a different business object.
Once the views and applets have been created in Siebel Tools, in order to define them as view templates and applet templates, they must be added to the Template Definition view.
To add views and applets to the Template Definition view
Navigate to the Administration - Finance screen, Dynamic Applet Administration view, and then the Template Definition view.
In the Template Definition list, click New, and then enter the view name.
In the Applet Template Definition list, click New, and then enter the applet name.
Business Service Methods
The business service has two methods:
GetNextViewName. Gets the next view name without view navigation.
GotoNextView. Navigates to the next view.
The following table describes the FINS Application View Navigation Service arguments for these methods.
Name | Type | Description |
---|---|---|
BusComp |
Required |
The master business component through the view navigation. |
Navigation Direction |
Optional |
Forward or Backward. Default is Forward. |
Product Id |
Optional |
Product Id value. |
Product Id Field |
Optional |
The field in the business component that is used to retrieved Product Ids. |
Status |
Output |
|
Next View Name |
Output |
Name of the Next View. |
FINS View Navigation Mgr Admin BC |
Optional |
Name of the admin business component. |
Business Service Behaviors
The FINS Application View Navigation Service is constrained by the following behaviors:
The business service can be invoked from any screen.
The navigation is limited to the views in the current screen that are accessible to the current login.
For example, if there is a product that is associated with views in both the Contact and Opportunity screens, and the invocation occurs inside the Contact screen, views in the Opportunity screen are ignored. Furthermore, the views that the current login do not have access to are also ignored.
A view in the view list that is left by clicking the Next button, is treated as a visited view.
At any point in the view navigation, if a next view request is triggered and there are views ahead of the current views not marked as visited, the service navigates to the skipped views.
During the navigation sequence, do not change the master business component record row ID. Otherwise, all the views will be treated as unvisited after the record change.
Business Service Administration
The FINS Application View Navigation Service is administered through the Administration - Product screen.
To administer the FINS Application View Navigation business service
Navigate to the Administration - Product screen, and then the Products view.
In the Products list, query for the product, and drill down on the product name link.
Click the More Info view tab.
In the More Info form, click the Application Workflow view link.
Create new records to associate views and their sequence to the product.
If you specify views with a gap in the sequence on two different products and add both those products to, for example, an Application, you navigate based on sequence number and not on product.
For example, if you specify:
View V1 with sequence 1 and view V2 with sequence 3 on product A
And then also specify view V3 with sequence 2 and view V4 with sequence 4 on product B
And then proceed to add both these products to an Application
The navigation sequence will be V1, V3, V2, V4.
Upgrade Note
In previous releases, the function provided by the FINS Application View Navigation business service was available through NextView and PrevView methods in CSSSWEFrameFINApplication.
These methods are no longer supported since Siebel Finance 7.7. If you have upgraded to Siebel Finance 7.8 from a release prior to Siebel 7.7, the Next and Previous buttons must be reconfigured following the example provided in Example of FINS Application View Navigation.