15Configuration Links
Configuration Links
This chapter describes how to use the Links view to define and manage links. Links allow you to extract information from Siebel business components and from system variables and use it to write constraints.
For information about constraints, see Configuration Constraints.
This chapter includes the following topics:
About Configuration Links
Links provide a way to use Siebel data in constraints that you write for a customizable product or product class.
For example, if you have clients outside the U.S., you could create a link that stores the account location. You could then write a constraint that uses the account location to determine what kind of power supply and plug types to include with a computer configuration.
The value of a link is determined when the user starts a configuration session and is not dynamically updated during the session.
Links can store the following types of information:
Business component links store the value of a field in a Siebel business component.
Context variable links store the value of a variable-map variable.
System variable links store the value of a specific system variable.
Business Component Links
Business component links map a Siebel business component data field to a link name. The link name can then be used when writing constraints for a customizable product.
To create a business component link, you must have a thorough understanding of Siebel business components and be able to use Oracle's Web Tools to identify business objects, business components, and field names.
When you define a business component link, the goal is to retrieve only one record. Several fields are provided in the link definition to help you do this. If more than one record is retrieved by the query, the link data is extracted from the first record in the group. If no records are retrieved by the query, the value entered in the default value field in the link definition is used.
You have the option to extract information from the current instance of a business component or from a new instance. For example, you select an account as part of creating a quote. You have defined a link for a complex product that extracts information from the business component that displays this record. When the user begins configuring the product, the link information will be extracted from the account record being used in the quote. The link uses the current instance of the business component.
Context Variable Links
Context variable links allow you to extract information from the current context by using the variable map. For example, if a variable in the variable map represents the Country field, you can use the context variable link to extract the name of the country in the current record.
To use context variable links, you must have an understanding of variable maps. For more information, see Siebel Order Management Infrastructure Guide.
In versions 7.8 and later, when Siebel Product Configurator is launched, the Context Service passes a property set to Siebel Product Configurator that is used for eligibility calculations and for pricing. The values in the property set are defined through Context Service administration, and they can be mapped so they are the same for quotes and orders.
Business component links are retained for backward compatibility, but context variable links are preferable because:
They do not require an additional query to the database, improving performance.
- They do not require you to define separate links for quotes and orders.
System Variable Links
Links can be defined to extract information from two system variables:
TODAY. Returns today's date.
WHO. Returns the log-in name of the user who started the configuration session.
You can use the TODAY system variable to write time-sensitive constraints. For example, you create a link named TodayDate that stores the value of the TODAY system variable. You could then write a constraint that says if today's date is later than December 23, 2001, then the product 64 MB RAM is required in computer configurations.
You can use the WHO system variable to customize configuration constraints based on the user log-in name. For example, you create a link named UserName that stores the value of the WHO system variable. You could write a constraint that says if the user's log-in account name is jsmith, then 64 MB RAM is required in computer configurations.
Creating a Business Component Configuration Link
A business component link lets you extract information from Siebel business components and use it to write constraints.
To create a business component link you must know the business component name and field name containing the information you want to extract.
You must select and lock a customizable product before creating a link. When you create a link, it is automatically added to a picklist. You can then add the link to other customizable products by selecting it from the picklist.
When you create a link, it is added to a dialog box. You can copy this link definition to other customizable products and edit the link as needed. In turn, the edited link is added to the dialog box. When you remove a link from a customizable product, it is removed from the dialog box.
In some cases, you might also have to set the Link Specification and Force Active properties of the business component field that you are using in the link to TRUE.
When there are empty values for numeric or date attributes, Configurator constraint engine gives date fields the default value of today's date, and it gives numeric fields the default value of zero.
To create a business component link
Navigate to the Administration - Product screen.
Select and lock the desired customizable product or product class.
Navigate to the Linked Items view for the Work Space version.
In the Link Definitions list, add a new record and complete the necessary fields, described in the following table.
Field Comments Name
Enter the name of the link. Use this name to refer to the link when you write constraints. This field is required.
BusObj Name
Enter the business object in which the business component resides. This field is required for business component links.
BusComp Name
Select the business component from which you want to extract information. This field is required for business component links.
BusComp Field Name
Select the field in the business component that contains the data you want to extract. This field is required for business component links.
Expression
Displays an XML expression that is automatically generated by your entries in the other fields.
Needs Execution
Select this check box to retrieve the link information from a new instance of the business component. Deselect it to retrieve information about the current record of the active business component in active business object before launching Siebel Product Configurator.
Note: When this check box is deselected, the value of the link is always resolved with the active business component, irrespective of the calling mechanism. Deselecting this check box produces the same link value in Open UI, scripting APIs, and Web service interfaces.Search Spec
Enter a Siebel query expression to narrow the search to one record. This field is evaluated only if you put a check mark in Needs Execution. An entry in this field is highly recommended.
Sort Spec
Enter a sort specification so that the desired record appears first if more than one record is retrieved. This field is evaluated only if you put a check mark in Needs Execution. An entry in this field is highly recommended.
Default Value
Enter the value that you want to assign to the link if the query returns no records. This field is highly recommended if you put a check mark in Needs Execution.
If you are linking to a context variable, you must use this field to specify the default value of the context variable if the default value is not found in the context when the linked item is evaluated.
Keyword
For business component links, leave this field blank. This field is used for context variable links. For more information, see Creating a Context Variable Link.
Context Variable
For business component links, leave this field blank. This field is used for context variable links. For more information, see Creating a Context Variable Link.
Context Variable Type
For business component links, leave this field blank. This field is used for context variable links. For more information, see Creating a Context Variable Link.
Description
Enter a description of what the link does. This description is not displayed to customers.
Creating a Context Variable Link
A context variable link lets you extract information from the variable map "Cfg Eligibility Variable Map - Context" and use it to write constraints.
To create a context variable link you must use an existing variable definition from the variable map or add a new entry to the variable map. For more information, see Context Variable Links.
To create a context variable link
Navigate to the Administration - Product screen.
Select and lock the desired customizable product or product class.
Navigate to the Linked Items view for the Work Space version.
In the Link Definitions list, add a new record and complete the necessary fields, described in the following table.
Field Comments Name
Enter the name of the link. Use this name to refer to the link when you write constraints. This field is required.
BusObj Name
For context variable links, leave this field blank. This field is used for business component links. For more information, see Creating a Business Component Configuration Link.
BusComp Name
For context variable links, leave this field blank. This field is used for business component links. For more information, see Creating a Business Component Configuration Link.
BusComp Field Name
For context variable links, leave this field blank. This field is used for business component links. For more information, see Creating a Business Component Configuration Link.
Expression
Displays an XML expression that is automatically generated by your entries in the other fields.
Needs Execution
Select this check box to retrieve the link information from a new instance of the business component. Deselect it to retrieve information about the current instance of the business component.
Search Spec
For context variable links, leave this field blank. This field is used for business component links. For more information, see Creating a Business Component Configuration Link.
Sort Spec
For context variable links, leave this field blank. This field is used for business component links. For more information, see Creating a Business Component Configuration Link.
Default Value
Enter the value that you want to assign to the link if the evaluation returns no value. Please note that you can also specify a default value in the variable map definition. This default has precedence over the default defined here.
Keyword
To create a context variable link, choose Context Variable.
Context Variable
To create a context variable link, enter the name of the variable in this field. The variable must be in the variable map that is currently being used.
Context Variable Type
To create a context variable link, enter the variable type in this field.
Description
Enter a description of what the link does. This description is not displayed to customers.
Creating a System Variable Configuration Link
A system variable link lets you obtain the value of the following system variables and use it to write constraints:
TODAY. Provides the system date. The data type is Date and can be used for date computations.
WHO. Provides the user's login name. The data type is Text.
To create a system variable link
Navigate to the Administration - Product screen.
Select and lock the desired customizable product or product class.
Navigate to the Linked Items view for the Work Space version.
In the Link Definitions list, add a new record and complete the necessary fields, described in the following table.
Field Comments Name
Enter the name of the link. Use this name to refer to the link when you write constraints. This field is required.
Keyword
Select either TODAY or WHO. This field is required for system variable links.
Description
Optionally, enter a description of what the link does. This description is not displayed to customers.
About Managing Configuration Links
You can manage links in the following ways:
Editing a Configuration Link Definition
You must select and lock a customizable product before editing a link definition. If you change the name of a link, the name is not changed in configuration constraints where it appears.
Editing the name of a link changes its name in the Pick Linked Item dialog box.
Deleting a Configuration Link
You delete a link for a customizable product by deleting the record from the Link Definitions list.
You must select and lock a customizable product before deleting a link.