18Business Services for Siebel Financial Services

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 without changes to Siebel Runtime Repository objects

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

Table Siebel Financial Services Business Services

Business Service Business Applications Functionality

Disclosure Manager

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.

VBC Cache and Instance Manager

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.

Free Format Converter

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.

Data Validation Manager

Conditional logic, data integrity control.

Performs data validation across business component fields.

Requirements Manager

Application closings, service case resolution.

Determines requirements and next steps for transaction completion.

Customer Authentication Manager

Transaction level security, regulatory compliance.

Situation specific customer authentication data collection and logging.

Using the Calculation Manager

Lead scoring, payment calculations, prioritization.

Performs arithmetic functions and if/then/else calculations in background or through UI.

Using the Customer Expectations Manager

Customer services expectations, fulfillment expectations.

Calculates expected and promise dates, and sets priorities, based on item type and customer value.

Business Rule Processor

Definition and execution of complex, frequently changing business logic.

Higher performance and more scalable than scripting. Can change business logic without changing Siebel Runtime Repository objects. Flexible - supports procedure, loops, if-then-else, switch-case constructs.

Dynamic UI Business Service

Create read-only view that can be changed without the need to modify Siebel Runtime Repository objects.

Create and render views containing a single read-only applet in the Siebel Financial Services application.

FINS Application View Navigation

View navigation.

Guides users through a series of views based on administration data.

Caution: As with other specialized code, use only the specialized business services that are documented in Siebel documentation. The use of undocumented services is not supported and can lead to unwanted and unpredictable results.

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.

      Table SetupDisclosure Input User Properties

      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.

        SetupDisclosure Output User Properties

        The following table lists the output user properties for the SetupDisclosure method.

        Table SetupDisclosure Output User Properties

        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.

              Caching VBC Components

                Stages of the Caching VBC Process

                The caching VBC process uses the following process flow.

                1. The Caching VBC invokes the named service when queried.

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

                3. When the VBC is executed, the VBC calls the business service and passes it the integration object name and workflow process name.

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

                5. The business service passes the integration object instance to the SiebelMessage workflow process property and invokes the workflow process.

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

                7. The workflow process completes.

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

                  Table User Properties for VBC 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.

                    Table Consequences of Setting Enable Caching

                    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 (the following table) on integration component fields to identify those fields that must be prefilled with data from the active business components:

                        Table PREDEFAULT User Property

                        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.

                          Table Workflow Process Properties

                          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.

                                Table User Properties

                                Parameter Name Description Predefault Value

                                BeginTagLeft

                                A text value for the left boundary of the begin tag.

                                <

                                BeginTagRight

                                A text value for the right 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 left boundary of the end tag.

                                <

                                EndTagRight

                                A text value for the right 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.

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

                                  Tip: Before you begin to create a business rule process, carefully consider and plan the required steps for it.

                                  Process of Defining Business Rule Processes

                                  Defining business rules processes involves the following procedures:

                                  1. About Business Rule Process Property Types

                                  2. Defining Procedures for a Business Rule Process

                                  3. Using BRP Helper Business Services

                                  The following figure presents an overview of defining business rule processes.

                                  Business Rule Processor Design Diagram

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

                                    Note: BRP names are case sensitive and limited to 75 characters.
                                    Tip: It is important to establish a naming convention before you engage in the development of BRP processes.

                                      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

                                      Note: The process status indicates its edit disposition rather than its current run-time execution status.

                                      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

                                      1. Navigate to the Business Rule Processor screen.

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

                                        1. Navigate to the Business Rule Processor screen.

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

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

                                          1. Navigate to the Business Rule Processor screen.

                                          2. In the Processes list, select the business rule process you wish to activate.

                                          3. Click the Activate button.

                                            Clicking Activate changes the Status from In Progress to Active and makes the record read-only.

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

                                            1. Navigate to the Business Rule Processor screen.

                                            2. In the Processes list, select the process you wish to export and click the More Info view tab.

                                            3. In the Processes form, click the Export Process button.

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

                                              1. Navigate to the Business Rule Processor screen.

                                              2. Click the More Info view tab.

                                              3. In the Processes form, click the Import Process button.

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

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

                                                Note: If a procedure defines a local property with the same name as a global property, the local property takes precedence over the global property within the scope of that procedure.

                                                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.

                                                  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.

                                                  Tip: Use an appropriate prefix, such as global_, local_, or l_ to designate local and global properties.

                                                  Complex properties except ProperySet and Vector cannot be passed as inputs to a BRP process.

                                                  The following table describes the complex types in further detail.

                                                  Table Complex Property Types

                                                  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:

                                                  • childPropertySetRef = parentPropertySet[strkeyValue]

                                                  • childPropertySetRef = parentPropertySet(nIndex)

                                                  Note: Round parentheses ( ) are used to retrieve a child Property Set by index. The index starts at 0.

                                                  Square parentheses [ ] 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 [ ] or ( ). Expressions cannot be used within.

                                                  Tip: To use expressions within [ ] or ( ), assign these to a simple property type and use the simple property within [ ] or ( ).

                                                  You can use square and round 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 square parentheses [ ].

                                                  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

                                                  1. Navigate to the Business Rule Processor screen and select a process for which you want to create global variables.

                                                  2. Click the Properties view tab and create a new property completing the fields as necessary.

                                                    Some fields are 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.

                                                    Note: Business rule processes are not permitted to use recursion. If you define a recursion, then you will receive an error message that recursion is not allowed.

                                                    This step is part of Process of Defining Business Rule Processes.

                                                    To define a procedure for a business rule process procedure

                                                    1. Navigate to the Business Rule Processor screen and select a process.

                                                    2. Click the Procedures view tab, and create a new procedure.

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

                                                    Note: Properties defined for a procedure are local variables accessible only to the parent procedure. You can define global variables in the Business Rule Processor Properties view. See Using BRP Helper Business Services.

                                                      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

                                                      1. Navigate to the Business Rule Processor screen, select a process and a procedure.

                                                      2. Navigate to the Steps list and create a new record to define each step for the procedure.

                                                        Some of the fields are 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.
                                                      3. Drill down on the Step Type and proceed to one of the following steps, depending on the step type.

                                                        • Statement Step

                                                        • Business Service Step

                                                        • Switch Step

                                                      Statement Step

                                                      For a statement step:

                                                      1. 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.
                                                      2. Add one or more records to the Statements list, defining the statements of the statement step. Some of the field 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.

                                                        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.

                                                        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:

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

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

                                                      1. In the Switch Steps form, enter the switch criteria, a Siebel Query Language Expression that evaluates to be a string.

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

                                                      3. In the Statements list, enter one or more statements. See the followingfor 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.

                                                          Tip: If the Light Parser flag is checked, but the expression is not a simple expression, the BRP logs an entry in the log file at run time if the Siebel log level is informational or higher. Use these log entries to help you fine-tune assignment statements. See Logging Business Rules Processor Debug Messages for more information.

                                                            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.

                                                            Note: The Cache flag is only meaningful when the expression is not handled by a light parser.

                                                            Table Cache Flag Options

                                                            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 to throw errors and provide some meaningful information when a run-time error occurs. These properties are presented in the following table.

                                                                Table Global System Properties for Errors

                                                                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.

                                                                Note: Block is optional and occurs only inside a switch 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.

                                                                  Tip: Use a Switch block within the error procedure to check for known error codes.

                                                                    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

                                                                      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.

                                                                        Note: Default the Search Spec, Sort Spec, Hierarchical Key, Key Field, Value Field, and Aggregate field arguments by defining these as user properties on the source business component. Pre-fix the BC user property with FINS Data Loader to identify these fields.

                                                                        For example, define the default search spec as the Buscomp user property: FINS Data Loader Search Spec.

                                                                        Table Load Data Method Parameters

                                                                        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.

                                                                          Table Example of LoadData Method Using Field [n]

                                                                          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 About Business Rule Process Property Types type.

                                                                          Table ProductRate Vector Sample

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

                                                                            Table Financial Product Attribute business component data

                                                                            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 About Business Rule Process Property Types type.

                                                                            Table ProductRate Vector sample

                                                                            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.

                                                                                Note: The business component is established without the context of the business object. Pay special care to identify the user keys for each record when inserting and setting values. Additionally, the normal Siebel error handling resulting from the business object context is not enforced.

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

                                                                                  Table Query Method Parameters

                                                                                  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:

                                                                                  • Succeeded. Indicates that the query returned at-least one business component record.

                                                                                  • Failed. Indicates that either the query returned no business component records or the query failed due to a system error.

                                                                                  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.

                                                                                  Using Query Method to Retrieve Data

                                                                                    About GetFieldValue Method

                                                                                    Use this method to get a value of a Business Component field into a local or global property. The following table describes the input and output parameters for this method.

                                                                                    Table GetFieldValue Method Parameters

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

                                                                                    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:

                                                                                    • Succeeded. Indicates that the query returned at-least one business component record.

                                                                                    • Failed. Indicates that either the query returned no business component records or the query failed due to a system error.

                                                                                    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 to set a value of a business component field. The following table describes the input and output parameters for this method.

                                                                                      Table SetFieldValue Method Parameters

                                                                                      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:

                                                                                      • Succeeded. Indicates that the operation succeeded.

                                                                                      • Failed. Indicates that the operation failed.

                                                                                      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 to insert a record into a Business Component. The following table describes the input and output parameters for this method.

                                                                                        Table InsertRecord Method Parameters

                                                                                        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:

                                                                                        • Succeeded. Indicates that the operation succeeded.

                                                                                        • Failed. Indicates that the operation failed.

                                                                                        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 to advance to the next record in a list of business component records. The following table describes the input and output parameters for this method.

                                                                                          Table NextRecord Method Parameters

                                                                                          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:

                                                                                          • Succeeded. Indicates that the operation succeeded.

                                                                                          • Failed. Indicates that either the end record has reached or the operation failed with a system error.

                                                                                          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.

                                                                                            Note: Within each session, BRP Processor creates a copy of the BRP executable objects. The executable objects belong only to a single login session and are not shared. These executable objects are cached within a login session. Release processes either explicitly or implicitly when the open session is closed.

                                                                                            The FINS CAP Processor Service Business Services exposes three methods. The following table describes these methods.

                                                                                            Table FINS CAP Processor Service Business Services Methods

                                                                                            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. These levels are detailed in the following table.

                                                                                                    Table BRP Levels of Execution Logging

                                                                                                    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.

                                                                                                    Caution: BRP log files can grow quickly. In general, the logs must be enabled only for administrators to do debugging.

                                                                                                    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:

                                                                                                          1. Creating Record Templates

                                                                                                          2. Creating Requirement Templates

                                                                                                          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

                                                                                                            1. Navigate to the Administration - Record Template screen, and then the Record Template view.

                                                                                                            2. In the Record Template list, create a new record, and complete the fields.

                                                                                                              Some of the fields are 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.

                                                                                                            3. In the Fields list, create a new record and complete the fields.

                                                                                                              Some of the fields are 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.

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

                                                                                                              1. Navigate to the Administration - Requirement Template screen, and then the Workflows view.

                                                                                                              2. In the Requirement Template list, create a new record and complete the fields.

                                                                                                                Some of the fields are 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.

                                                                                                              3. In the Workflow list, create a new record and complete the fields.

                                                                                                                Some fields are 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.

                                                                                                              4. Click the Record Template view tab.

                                                                                                              5. In the Record Template list, create new record, and complete the fields in the list.

                                                                                                                Some fields are 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.
                                                                                                              6. In the Requirement Template list, click Activate.

                                                                                                              7. (Optional) To revise the requirement template, click Revise.

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

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

                                                                                                                2. In the Templates list, create a new record.

                                                                                                                3. Select the template name as defined in Creating Requirement Templates.

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

                                                                                                                5. Complete the fields in the Activities, Workflow, and Documents lists.

                                                                                                                Note: If the workflow is not set to run automatically, you can set the workflow manually by clicking Execute in the Workflow list.

                                                                                                                  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:

                                                                                                                  1. Creating Record Group Templates

                                                                                                                  2. Creating Related Record Group Templates

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

                                                                                                                  1. Navigate to the Administration - Record Template screen, and then the Record Group Template view.

                                                                                                                  2. In the Record Group Template list, create a new record and complete the fields.

                                                                                                                    Some fields are 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.

                                                                                                                  3. In the Related Record Template list, create a new record and complete the fields.

                                                                                                                    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.

                                                                                                                  4. In the Related Record Group Template list, create a new record, and complete the fields.

                                                                                                                    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

                                                                                                                    1. Navigate to the Administration - Insurance screen, and then the Auto Coverages view.

                                                                                                                    2. 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
                                                                                                                      1. Navigate to the Administration - Record Template screen, and then the Record Template view.

                                                                                                                      2. Create a new record in the Record Template list, and enter the values as shown 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

                                                                                                                      3. Leave the Fields list empty.

                                                                                                                        The predefault values set for the fields in this business component in Siebel Tools will be considered during execution.

                                                                                                                      4. Click the Record Group Template link bar, create a new record in the Record Group Template list, and enter the values as shown 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'

                                                                                                                      5. In the Related Record Template list, create a new record and pick the record template defined in Step 2.

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

                                                                                                                      7. 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
                                                                                                                        1. Navigate to Auto Policies screen and create a new policy.

                                                                                                                        2. Drill down on the Policy # record to navigate to the Quick Quote view and create the following records:

                                                                                                                          1. In the Vehicles list, create new vehicles

                                                                                                                          2. In the Drivers list, create new driver records

                                                                                                                        3. Click the Rate Model view tab.

                                                                                                                          The vehicles list displays the vehicles created in the previous step.

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

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

                                                                                                                          1. Creating Customer Authentication Templates

                                                                                                                          2. (Optional) Defining Customer Authentication Rules

                                                                                                                            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

                                                                                                                            1. Navigate to the Administration - Application screen, and then the Authentication Template view.

                                                                                                                            2. In the Templates list, create a new record, and complete the fields.

                                                                                                                              Some fields are 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.

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

                                                                                                                            3. In the Credentials list, create a new record, and complete the fields.

                                                                                                                              Some fields are 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

                                                                                                                              1. Navigate to the Administration - Application screen, and then the Authentication Administration view.

                                                                                                                              2. In the Rule Sets list, create a new record, and complete the fields.

                                                                                                                                Some of the fields are 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.
                                                                                                                              3. In the Rules applet, create a new record, and complete the fields.

                                                                                                                                Some of the fields are 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

                                                                                                                                1. Navigate to the Contacts List view.

                                                                                                                                2. Select the contact to authenticate and click the Authentication Manager icon on the toolbar.

                                                                                                                                  The Siebel Authentication Manager dialog box appears.

                                                                                                                                3. Check the Confirmed checkbox for each field listed.

                                                                                                                                4. Do one of the following:

                                                                                                                                  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

                                                                                                                                  1. Log into Siebel Web Tools and create a workspace in which to make your changes. For more information about workspaces, see Using Siebel Tools.

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

                                                                                                                                  3. Define a new field called FieldNN (for example, Field3, Field 4, … Field10). Mark it as a Calculated Field.

                                                                                                                                  4. Define a new field called Required FlagNN (for example, Required Flag3, Required Flag4, Required Flag10.). Mark it as a Calculated Field.

                                                                                                                                  5. Add a new confirmed flag field if you have more than 10 authentication fields (since there are ten already defined). It must be named Confirm FlagNN where NN is some value matching the fields created in Step 3 and Step 4. Mark it as a Calculated Field

                                                                                                                                  6. Navigate to the FINS Authentication Manager Popup Form Applet.

                                                                                                                                  7. Open the Control object type under this applet and add the new fields: FieldNN and Required FlagNN.

                                                                                                                                  8. Add a Confirmed FlagNN field if you have more than five authentication fields. (The applet already contains five confirmed flag fields).

                                                                                                                                  9. Add the fields and corresponding labels to the applet templates.

                                                                                                                                  10. Test your changes.

                                                                                                                                  11. Submit the workspace for delivery and publish it. For more information on workspaces, see Using Siebel Tools Guide.

                                                                                                                                    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:

                                                                                                                                      1. Specify a calculation rule-set.

                                                                                                                                      2. Specify variables used in the calculation.

                                                                                                                                      3. Specify calculation details.

                                                                                                                                      To specify a calculation rule-set

                                                                                                                                      1. Navigate to the Administration - Application screen, and then the Calculation Manager view.

                                                                                                                                      2. In the Rule Sets list, create a new record, and complete the fields.

                                                                                                                                        Some fields are 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
                                                                                                                                        1. Navigate to the Administration - Application screen, and then the Calculation Manager view.

                                                                                                                                        2. Select a Rule Set for which you want to specify variables.

                                                                                                                                        3. in the Variables list, create a new record and complete the fields.

                                                                                                                                          Some fields are 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
                                                                                                                                          1. Navigate to the Administration - Application screen, and then the Calculation Manager view.

                                                                                                                                          2. Select a Rule Set for which you want to specify calculation details.

                                                                                                                                          3. In the Rules list, create a new record, and complete the fields.

                                                                                                                                            Some fields are 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.

                                                                                                                                              Table Input Arguments to Invoke Calculation Manager

                                                                                                                                              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

                                                                                                                                                  1. Navigate to the Administration - Application screen, and then the Customer Expectations Manager view.

                                                                                                                                                  2. In the Rule Sets Applet, create a new record, and complete the fields.

                                                                                                                                                    Some fields are 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.

                                                                                                                                                    Note: 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.
                                                                                                                                                  3. In the Rules list, create a new record, and complete the fields.

                                                                                                                                                    Some fields are 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

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

                                                                                                                                                    2. 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 Insurance, 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:

                                                                                                                                                        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

                                                                                                                                                        1. Navigate to the Administration - Application screen, and then the Approval Admin view.

                                                                                                                                                        2. In the Approval Item list, add a record and enter a name in the Approval Item field.

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

                                                                                                                                                        4. In the Approval Stage list, add a record for each approval stage and complete the necessary fields.

                                                                                                                                                          Some fields are 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.

                                                                                                                                                            Table Parameters for Start Step

                                                                                                                                                            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.

                                                                                                                                                            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:

                                                                                                                                                            • Condition. This value indicates that a condition is defined for the branch.

                                                                                                                                                            • Default. This value indicates that if nothing else is satisfied, then this branch is followed. Additionally, if this value is used, any conditions defined for the branch are ignored.

                                                                                                                                                              Configuring the Business Service Step

                                                                                                                                                              The following table details some of the business service step parameters for the workflow process.

                                                                                                                                                              Table Parameters for Business Service Step

                                                                                                                                                              Field Value

                                                                                                                                                              Business Service

                                                                                                                                                              FINS Approval UI Service

                                                                                                                                                              Method

                                                                                                                                                              Create Approval Stage

                                                                                                                                                              The following table details the input arguments for the workflow process.

                                                                                                                                                              Table Input Arguments for Business Service Step

                                                                                                                                                              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 Defining Approval Items and Approval Stages.

                                                                                                                                                                To approve or decline an approval stage

                                                                                                                                                                1. Navigate to the My Approval Inbox screen.

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

                                                                                                                                                                3. To view additional details about an approval item, drill down on the Approval Identifier link.

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

                                                                                                                                                                  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

                                                                                                                                                                    1. Navigate to the Administration - Product screen, and then the Disclosure view.

                                                                                                                                                                    2. In the Product form, query for the product.

                                                                                                                                                                    3. In the Disclosure list, add a new record, and complete the necessary fields.

                                                                                                                                                                    4. 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
                                                                                                                                                                      1. Navigate to the Administration - Product screen, and then the Disclosure view.

                                                                                                                                                                      2. In the Product form, query for the product.

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

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

                                                                                                                                                                      5. 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 Insurance, see the sharing literature discussion in Siebel Applications Administration Guide.

                                                                                                                                                                        About Disclosure Workflows

                                                                                                                                                                        Siebel Insurance includes three workflows that help manage the display of disclosure documents and disclosure event logging. The following table describes each workflow.

                                                                                                                                                                        Table Disclosure Workflow Processes

                                                                                                                                                                        Workflow Process Comments

                                                                                                                                                                        FINS Disclosure

                                                                                                                                                                        The FINS Disclosure Workflow process accomplishes the following tasks:

                                                                                                                                                                        1. Invokes the Setup method of the Disclosure UI Service business service. Invoking this method sets up the appropriate disclosure documents based on the selected product.

                                                                                                                                                                        2. Calls the FINS Disclosure Goto File View subprocess. 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.

                                                                                                                                                                        3. Calls the FINS Disclosure Create Activity Sub Workflow subprocess. If the user accepts the disclosures, the workflow calls the FINS Disclosure Create Activity Sub Workflow subprocess to log the disclosure activity.

                                                                                                                                                                        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:

                                                                                                                                                                        • Deploy the workflow processes using Siebel Tools.

                                                                                                                                                                          For more information, see Siebel Business Process Framework: Workflow Guide.

                                                                                                                                                                        • Activate the workflow processes described in the previous table.

                                                                                                                                                                          For more information, see Activating Workflows.

                                                                                                                                                                        • Invoke the Disclosure UI Service business service.

                                                                                                                                                                          For more information, see Invoking the Disclosure UI Service Business Service.

                                                                                                                                                                          Activating Workflows

                                                                                                                                                                          Use the following procedure to activate the workflows used to display disclosure documents.

                                                                                                                                                                          To activate the workflows used to display disclosure documents

                                                                                                                                                                          1. Navigate to the Administration - Business Process screen, and then the Workflow Deployment view.

                                                                                                                                                                          2. In the Repository Workflow Processes list, use a query to find all processes where the Name field contains the word Disclosure.

                                                                                                                                                                            Note: You can query on *Disclosure*.
                                                                                                                                                                          3. Activate each workflow process shown in the previous table that has a status of Inactive.

                                                                                                                                                                            1. Select the workflow process record.

                                                                                                                                                                            2. Click Activate.

                                                                                                                                                                          4. To verify that the Status is Active for each process:

                                                                                                                                                                            1. In the lower Active Workflow Processes list, query again for Name = *Disclosure*.

                                                                                                                                                                            2. For each process, check that Deployment Status = Active.

                                                                                                                                                                            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

                                                                                                                                                                              1. Navigate to the Contacts screen, and then the Contacts List view.

                                                                                                                                                                              2. In the Contacts list, drill down on the contact.

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

                                                                                                                                                                                Note: In order to completely understand the concepts in this topic, familiarity with SmartScript is required. For more information, see Siebel SmartScript Administration Guide.

                                                                                                                                                                                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

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

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

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

                                                                                                                                                                                    1. In the user interact step, set the view name to FINS SmartScript Player View (App).

                                                                                                                                                                                    2. In the Next Step’s applet, add two conditions, entering the information listed in the following tables:

                                                                                                                                                                                      Entries for Record 1 (first condition):

                                                                                                                                                                                      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

                                                                                                                                                                                      Entries for Record 2 (second condition):

                                                                                                                                                                                      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

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

                                                                                                                                                                                    Table FINS Web Shopping Service Methods

                                                                                                                                                                                    Method Description / Arguments

                                                                                                                                                                                    SetSmartScriptName

                                                                                                                                                                                    Input Arguments:

                                                                                                                                                                                    • Script Name (Required): The name of the SmartScript you want to invoke.

                                                                                                                                                                                    • SSUserParameter# (Required): A SmartScript user parameter between 1 and 20.

                                                                                                                                                                                    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.

                                                                                                                                                                                      Table FINS SmartScript Output Service Methods

                                                                                                                                                                                      Method Description / Arguments

                                                                                                                                                                                      SetOutput

                                                                                                                                                                                      Reads the SmartScript user parameters and outputs them as workflow properties:

                                                                                                                                                                                      Output Arguments:

                                                                                                                                                                                      • The name of the user parameter. Specifies the SmartScript user parameters as output arguments, and passes the value of the user parameters back to the workflow process when the SmartScript ends. These output arguments can be mapped to process properties.

                                                                                                                                                                                      • SmartScript Result Action: Returns the action users take to end the SmartScript. Possible values are Finish or Cancel.

                                                                                                                                                                                        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 modify objects in 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

                                                                                                                                                                                          1. Navigate to the Administration - Finance screen, and then the Dynamic Applet Administration view.

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

                                                                                                                                                                                          3. Step off the record. The Applet Instance list automatically displays the name of the applet template defined for this view.

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

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

                                                                                                                                                                                          6. 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 left to right. For form applets, the order is left to right and top to bottom.

                                                                                                                                                                                            • Field name. The business component field whose value you want to display.

                                                                                                                                                                                            • Caption. The display label for the field.

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

                                                                                                                                                                                            1. Create a subprocess based on the FINS Dynamic UI business object.

                                                                                                                                                                                            2. Add a Dynamic UI Service business service step and invoke the Set View Name method described in the following table.

                                                                                                                                                                                            3. (Optional) Add a second Dynamic UI Service business service step and invoke the AddRecord method described in the following table.

                                                                                                                                                                                            4. Add a User Interact step to display the dynamic applet.

                                                                                                                                                                                              1. 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.
                                                                                                                                                                                              2. For each button that might be clicked in the dynamic applet, add entries into the Next Steps list applet of the User Interact step. The following is an example of such an entry:

                                                                                                                                                                                                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.

                                                                                                                                                                                                Table Dynamic UI Service Methods

                                                                                                                                                                                                Method Description and Arguments

                                                                                                                                                                                                Set View Name

                                                                                                                                                                                                Input Arguments:

                                                                                                                                                                                                View Alias (Required): The view alias defined in Step 2 inExample of Creating a Dynamic Applet with the Dynamic UI Business Service of Example of Creating a Dynamic Applet with the Dynamic UI Business Service.

                                                                                                                                                                                                AddRecord (Optional)

                                                                                                                                                                                                Overrides the default search specification value.

                                                                                                                                                                                                Input Arguments:

                                                                                                                                                                                                • Business Component Name (Required): The name of the source business component.

                                                                                                                                                                                                • Object ID (Required): The row ID of the business component.

                                                                                                                                                                                              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

                                                                                                                                                                                              1. Navigate to the Administration - Finance screen, Dynamic Applet Administration view, and then the Template Definition view.

                                                                                                                                                                                              2. In the Template Definition list, click New, and then enter the view name.

                                                                                                                                                                                              3. In the Applet Template Definition list, click New, and then enter the applet name.

                                                                                                                                                                                                FINS Application View Navigation

                                                                                                                                                                                                The FINS Application View Navigation Service guides users through a series of views based on administration data. The view list is dynamically generated according to the products associated with the current record. It replaces the Next/Previous button functionality, known as the FINS Application Workflow, in previous releases.

                                                                                                                                                                                                The following topics are presented in this topic:

                                                                                                                                                                                                  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 arguments for these methods.

                                                                                                                                                                                                  Table FINS Application View Navigation Service Arguments

                                                                                                                                                                                                  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

                                                                                                                                                                                                  • 0: success

                                                                                                                                                                                                  • 1: EOF

                                                                                                                                                                                                  • 2: BOF

                                                                                                                                                                                                  • 3: Error

                                                                                                                                                                                                  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

                                                                                                                                                                                                      1. Navigate to the Administration - Product screen, and then the Products view.

                                                                                                                                                                                                      2. In the Products list, query for the product, and drill down on the product name link.

                                                                                                                                                                                                      3. Click the More Info view tab.

                                                                                                                                                                                                      4. In the More Info form, click the Application Workflow view link.

                                                                                                                                                                                                      5. Create new records to associate views and their sequence to the product.

                                                                                                                                                                                                      Note: You can associate views from any screen with a 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.

                                                                                                                                                                                                        Example of FINS Application View Navigation

                                                                                                                                                                                                        The FINS Application View Navigation Service is used in Siebel Insuranced on the Application screen, where the Application form contains Previous and Next buttons.

                                                                                                                                                                                                        The invocation on the Application screen uses Applet Named Method, a feature of frame classes derived from CSSSWEFrameBase and CSSSWEFrameListBase. The applet User Property has the following name/value pairs:

                                                                                                                                                                                                        • Named Method 1: GotoPreView

                                                                                                                                                                                                        'INVOKESVC', 'FINS Application View Navigation Service', 'GotoNextView', '"BusComp'", "'Opportunity'", "'Navigation Direction'", "'Backward'", "'Product Id Field'", "'Opportunity Product Id'"

                                                                                                                                                                                                        • Named Method 1: GotoNextView

                                                                                                                                                                                                        'INVOKESVC', 'FINS Application View Navigation Service', 'GotoNextView', "'BusComp'", "'Opportunity'", "'Navigation Direction'", "'Forward'", "'Product Id Field'", "'Opportunity Product Id'"

                                                                                                                                                                                                        The Next and Previous buttons are mapped to methods as follows:

                                                                                                                                                                                                        • Previous

                                                                                                                                                                                                        GotoPreView

                                                                                                                                                                                                        • Next

                                                                                                                                                                                                        GotoNextView

                                                                                                                                                                                                          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 Insurance 7.7. If you have upgraded to Siebel Insurance 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.