Siebel Order Management Infrastructure Guide > Variable Maps >
About Variable Maps
Siebel order management applications that use the PSP engine—such as for pricing, eligibility, and product recommendation—require a consistent way of loading, querying, and synchronizing transactional data. For example, the Quote Item and Order Entry - Line Items business components represent fundamentally the same concept, but can use different field names to represent the same value. Variable maps meet this requirement.
Variable maps are also used to extend the capabilities of customizable product linked items. A linked item can now refer to a value in a Context property set constructed by the variable maps mechanism. For more information about linked items, see Siebel Product Administration Guide.
Variable maps provide a mechanism for mapping transactional data to a common namespace regardless of the data source. PSP procedures rely on variable maps to map the name of a variable used by a PSP procedure to a field in a Siebel business component or to an attribute used in attribute pricing.
The variable map mechanism employs the Context Service business service, which provides a set of APIs for constructing a property set from the current ordering context and synchronizing changes to that property set back to the source. You can configure the set of data queried and written by a particular transaction.
NOTE: The variable map APIs work only during an event triggered on a business component derived from CSSBCOrderMgmtBase, CSSBCPecBase, and their subclasses.
You define the particular variable map used by a PSP procedure in the Signals Administration views (Administration - Order Management > Signals).
Concepts of Variable Maps
A variable is a name/value pair in a property set. A variable map is a definition of how to construct a property set in a given situation and of which changes to save.
Each variable has one or more variable sources that define how to retrieve the variable value in a given mode (such as Quote, Order, or Any). The source type of a variable source can be a business object query, the active business component instance, a business service, a profile attribute, a system preference, or a server parameter. A child variable map is another variable map that is executed for each row retrieved by the current variable map and attached as a child property set. A Business Service source can also construct a child property set for each row. Figure 5 shows example child variable map output, in relation to the parent variable map output.
Figure 5. Example of Child Variable Map Output
Variable Map Types
There are three types of variable maps:
- Context. Loads a single row containing shared header-level details (such as Channel, Account Type, User Role).
- Row Set. Loads any iteration of rows (such as order line items or shipments for an order).
- XA. Loads product attributes for a line item.
Working with Variable Maps
You create variable maps in the Administration - Order Management > Variable Maps views. Here you define the variables that are queried and written in various situations.
To access the Variable Maps views, navigate to Site Map > Administration - Order Management > Variable Maps, and in the Versions list applet, click the Work Space hyperlink. Variable Maps views include the following:
- Variable Maps view. Create new variable maps, update existing variable maps, release a variable map into production.
- Child Variable Maps view. Define child variable maps to be executed and attached to the parent. These are returned as a child property set of each row in the parent property set.
- Modes view. Define modes for variable maps. Set the mode according to the Mode user property on the business component invoking the signal that causes the variable map to be executed.
To configure mappings from business component field names to the variable map namespace, use the Integration Object object type in Siebel Tools. For more information, see About Using ISS Integration Objects with the Variable Map Mechanism.