11Creating Attribute Adjustments

About Attribute Pricing

Users may customize products by selecting attributes of the product, such as size and color. Attribute-based pricing adjusts the price based on the attributes chosen, and displays the adjusted price in the quote or order.

For example, a sales agent might create a quote for a car and select the leather upholstery attribute. After selecting the leather upholstery attribute, the agent sees the net price increase by $1000, the cost of this attribute. A home shopper using a Web site might select the same car model, but select the plush interior attribute. This shopper sees the net price increase by $500, the cost of this attribute. These two different users might be using different price lists, so their attribute adjustments might be different.

In earlier versions, you used attribute-based pricing only to define pricing based on attributes of a product. Effective in version 7.8, the Attribute Adjustments view extends and generalizes the earlier attribute-based pricing feature, so it can also be used for defining price adjustments based on other criteria (such as Status of an Account, Age of an Asset, and so on) in addition to product attributes.

To create attribute adjustments, first you define a list of attributes that affect the price and the adjustments needed for each. Then, you associate the attribute adjustments with the product in a price list. Because the product can be in multiple price lists, you can create multiple attribute adjustments for the product that are used in different price lists.

This chapter assumes that you have general background knowledge about attribute-based products, classes, and attribute values. For more information, see Siebel Product Administration Guide. This chapter also assumes that you have general background knowledge about how the PSP engine works. For more information, see Siebel Order Management Infrastructure Guide.

Note: If you use attribute-based pricing with other types of price adjustments, then the final price depends on the order in which Siebel Pricer applies the pricing adjustments. For more information, see About the Processing Order of Price Adjustments.

Attribute Adjustments Design

To plan attribute adjustments, begin by identifying the products, the product attributes that affect prices, and any other attributes (such as Status of an Account) for which you need to define price adjustments.

Determine which attributes you want to use for pricing. Be aware that you can use nonproduct attributes, such as Status of an Account, to set up price adjustments. Some product attributes that are necessary for customization have no effect on pricing. For example, some products may have a color attribute, because the user can select the color, but the color does not affect the price. You would not use the color attribute in the attribute adjustments table.

About the Attribute Adjustments View

You use the Attribute Adjustments view to create a list of attribute adjustments, which can be based on both product attributes and nonproduct attributes.

For example, the following table shows a simple list of attribute adjustments that adjust shirt prices based on size and color of the shirt. Any shirt ordered that is XL size and not colored red is marked up by 10%. Any shirt that is L size and not colored white is marked up by 8%. Any shirt that is M size and not colored blue is marked up by 10%.

Size Color Adjustment Type Adjustment Amount

= XL

<> Red

% Markup

10

= L

<> White

% Markup

8

= M

<> Blue

% Markup

5

The following table shows a simple example that adjusts shirt prices based on the size of the shirt and the status of the account. If the shirt ordered is XL size and the customer is a Gold account, then there is a 10% discount. If the shirt ordered is L size and the customer is a Silver account, then there is a 5% discount. If the shirt ordered is M size and the customer is a Bronze account, then there is a 3% discount.

Size Customer Status Adjustment Type Adjustment Amount

= XL

= Gold

% Discount

10

= L

= Silver

% Discount

5

= M

= Bronze

% Discount

3

    Dimensions in Attribute Adjustments

    The columns of these tables are called the dimensions of the attribute adjustment. The examples show that attribute adjustments have two types of dimensions:

    • Conditions. These dimensions affect the price of the product and determine whether the rule is applied. In the example, the condition dimensions are the columns Size, Color, and Status. Conditions can be based on any text, number, or date field in any Siebel business object, but if a rule uses the greater than (>) or less than (<) comparison operator, then its condition must be a number or date field (otherwise, the results will be unpredictable).

    • Results. These dimensions determine the result when the rule is applied. In the example, the results dimensions are the Adjustment Type and Adjustment Amount columns.

    Navigate to the Attribute Adjustments screen, then the Dimensions view to specify these dimensions.

      Variable Maps in Attribute Adjustments

      Variable maps are used to map the dimensions of attribute adjustments to fields in Siebel business objects. Every condition dimension of an attribute adjustment table has to be mapped to a variable map. Variable maps are provided for use with attribute adjustments. You can modify these variable maps or set up new variable maps. For information about working with variable maps, see Siebel Order Management Infrastructure Guide.

      The variable maps are transparent to the pricing administrator who defines the price adjustments based on attributes. The order management administrator sets up all the appropriate variable maps for use in pricing.

      Without configuration, the view to associate the variable maps with an attribute adjustment table is hidden. You can display the variable maps associated to an attribute adjustment table only by using the site map to navigate to the Administration - Pricing, Attribute Adjustments, then Variable Maps view. For more information about how to use variable maps in attribute adjustments, see Variable Maps in Attribute Adjustments.

        Rules in Attribute Adjustments

        The Rules view contains a list of conditions and results similar to the samples shown in the tables in the topic About the Attribute Adjustments View. You can enter rules in this view in two ways:

        • Enter rules manually. Add a new record and enter the information for each rule manually.

        • Generate rules. Click the Generate Rules button. The rules list is populated with records for every possible combination of condition dimensions and domains entered in the Dimensions view. You enter the results dimensions for each record. If you do not need all the combinations that are generated, then you can edit or delete some of the generated records.

        You enter the list of rules in the Attribute Adjustments, Rules view.

          Variable Maps in Attribute Adjustments

          You use variable maps to map the dimensions of attribute adjustments to fields in Siebel business objects. For information about variable maps, see Siebel Order Management Infrastructure Guide.

          There are three types of variable maps:

          • Context. This type maps the variable to header-level information, for example, to fields in the Order Header applet such as Account, Order Status, and so on.

          • Row set. This type maps the variable to line item-level information, for example, to fields in the line items of an order such as Quantity, Product Line, Price Type, and so on.

          • XA. This type maps the variable to the attribute names and values of a line item.

          For attribute pricing, you need only the standard variable maps that are provided with the product.

          The Siebel application provides standard variable maps for all of these variable map types. The variable maps that attribute adjustments use are declared in the Systems Preferences view as shown in the following table.

          System Preference Variable Value

          PSP Pricing Var Map - Context

          Default Pricing Variable Map - Context

          PSP Pricing Var Map - Row Set

          Default Pricing Variable Map - Row Set

          PSP Pricing Var Map - XA

          Default Pricing Variable Map - XA

          While setting up an Attribute Adjustment table, the pricing administrators can associate the variable maps shown in the previous table by clicking the Create Result Dimensions button. The three variable maps are created for the attribute adjustment in the Attribute Adjustments, Variable Maps view along with the two pricing results dimensions, Adjustment Type and Adjustment Amount. The system preferences, as shown in the previous table, are read and a record is inserted for each variable map type in the System Preferences view.

          Caution: If the system preference value is either empty, nonexistent, or invalid, then that variable map record is not created. No error message appears. If a user has already created the variable map records, then the application does not overwrite them.

          The use of variable maps for attribute adjustments is transparent to the pricing administrator. The Variable Maps view tab does not appear in the user interface, but you can still access it using the Site Map to navigate to the Administration - Pricing screen, Attribute Adjustments, then Variable Map view.

          You can set up variable maps in either of the following ways:

            Using System Preferences to Set Up Variable Maps for Pricing Adjustments

            Use the following procedure to set up variable maps for pricing adjustments by modifying system preferences

            To set up variable maps for pricing adjustments using the System Preferences view

            1. Navigate to the Administration - Application screen, then System Preferences view.

            2. In the System Preferences list, query for: PSP Pricing Var Map*

              Three records appear, as detailed in the table in Variable Maps in Attribute Adjustments.

            3. Set the appropriate variable map names in the System Preference Value field.

            4. Restart the server.

              New attribute adjustments created after the server is restarted use the new variable maps declared in system preferences.

              Using the Variable Maps View to Set Up Variable Maps for Pricing Adjustments

              Use the following procedure to set up variable maps for pricing adjustments by overwriting the variable maps in the Variable Map view.

              To set up variable maps for pricing adjustments using the Variable Maps view

              1. Navigate to the Administration - Pricing screen , Attribute Adjustments, then Variable Map view.

              2. Modify variable maps by selecting different variable maps in the picklists.

              The first approach is a global level change, and any new attribute adjustment table created after the server is restarted uses the new variable maps. The second approach is a local level change, and only the attribute adjustment that is modified uses the new variable maps.

                How Attribute Adjustments Apply Rules

                When you set up attribute adjustments, a search specification template is dynamically generated based on the definition of the condition dimensions of the attribute adjustment.

                The following properties of a condition dimension are important for generating the search specification template:

                • Operator. This property specifies the type of comparison performed against the column during run time.

                • Sort Order. This property specifies the sorting priority of the columns in the search specification.

                • Sort Method. This property specifies ascending or descending ordering of the search specification.

                At run time, this search specification template, along with run-time contextual values, executes a lookup against the rules of the attribute adjustments, as defined in the Conditions view.

                For example, shirts have two attributes that affect their price, color and size. You enter the condition dimensions shown in the following table.

                Name Operator Variable Map Data Type Sort Order Sort Method

                Size

                <

                XA

                Number 2 Descending

                Color

                =

                XA

                Text 1 Ascending

                Based on these dimensions, at run time, the application generates and caches the search specification:

                [Matrix.Color] = {Row.Color} AND [Matrix.Size] < {Row.Length}, Order by 
                [Matrix.Color] Ascending, [Matrix.Size] Descending
                

                The notation [Matrix.<Column>] refers to a condition dimension of an attribute adjustment. {Row.<Var Name>} is a contextual value, generated at run time. You also enter the rules shown in the following table.

                Sequence Color Size Adjustment Type Adjustment Amount

                1

                Red

                15

                % Discount

                15

                2

                Blue

                15

                % Discount

                15

                3

                Green

                15

                % Discount

                15

                4

                Red

                10

                % Discount

                25

                5

                Blue

                10

                % Discount

                25

                6

                Green

                10

                % Discount

                25

                In run time, when there are incoming transactions, the application uses the search specification template with the contextual values from the specific transaction to see which rule applies. For example:

                • If the transaction has Color =Red and Size = 11, then the application generates the search specification

                  [Matrix.Color] = “Red" AND [Matrix.Size] < 11. 
                  

                  This search specification matches the rule for Color = Red and Size = 10, so the discount of 25% is applied to the transaction.

                • If the transaction has Color =Red and Size = 16, then the application generates the search specification

                  [Matrix.Color] = “Red" AND [Matrix.Size] < 16. 
                  

                  This search specification matches the rule for Color = Red and Size = 15, so the discount of 15% is applied to the transaction.

                • If the transaction has Color =Red and Size = 8, then the application generates the search specification

                  [Matrix.Color] = “Red" AND [Matrix.Size] < 8. 
                  

                  This search specification does not match any rule, so no discount is applied to the transaction.

                Single and Multiple Type Attribute Adjustments

                After determining which attributes affect pricing, you must decide whether you need a single-attribute or multiple-attribute pricing adjustment table.

                When you create an Attribute Adjustment record, you use the Type field to specify that it is a single-condition or a multiple-condition adjustment as follows:

                • Single condition. Use this type if the price adjustments are based on condition dimensions that apply in isolation from each other. For example, a product with the attributes Size and Color could have a price adjustment for each of these individual attributes and not for a combination of both. In this case, set up a single type attribute adjustment table.

                • Multiple condition. Use this type if the combination of condition dimensions affect pricing, for example, if the product size and its color together determine the price adjustment.

                Single-condition attribute adjustments used for attribute pricing are relatively simple to create if you need them. For information, see Process of Creating an Attribute Adjustment.

                Note: The Price Override adjustment type is not available for single dimension attribute adjustments, so use the multiple dimension attribute adjustment option to apply just one adjustment as a price override.

                Before you begin creating multiple-condition attribute adjustments, decide on the following fields:

                  Order of Conditions in Multiple-Condition Pricing Tables

                  If you set up a multiple type Attribute Adjustment record, then you must consider the processing order of the attributes (condition dimensions).

                  You can use the Sort Order and Sort Method fields of the Dimensions record to specify the order in which attributes (condition dimensions) are processed. The application assigns the dimension with the least numerical sort order value the highest processing priority while performing a lookup against the rules (the Conditions view). The sort method determines whether the values in the dimension are processed in ascending or descending order.

                  Processing order is important because:

                  • The order of attributes (condition dimensions) affects the lookup of the price adjustment.

                  • If there are multiple matches of rules (Conditions view), then the order of the attributes (condition dimensions) determines which rule is applied.

                  • The order of attributes (condition dimensions) affects processing speed.

                    Order of Conditions and Pricing Calculations

                    In a single-type attribute adjustment, each attribute (condition dimension) contributes to the price adjustment in isolation from the rest of the other attributes (condition dimensions). This means that the sort order of the attributes does not impact the price in any way.

                    Assume you are using a single-type attribute adjustment for attribute pricing. A product has a list price of $100 with a 50 percent markup on the large size and a $10 markup for the color gold. The application calculates the price of the product by considering each attribute adjustment in isolation, so the price of the product is $100 + (50% of $100 for the size large) + $10 (markup for gold color) = $160. The application does not consider the sequence in which the adjustments need to be applied.

                      Order of Conditions and Precedence

                      In addition, the selection order also determines the relative importance of attributes in case of ties.

                      If two or more rules in an attribute adjustment are both valid, then the rule with the more explicitly defined attribute values (not blanks) in the first few columns takes precedence. For example, if there are four fields for each record, and the first two fields of both records match what has been selected, then the engine returns the record that matches the first condition going from first to last. The dimension with least numerical sort order value is processed first.

                        Order of Conditions and Processing Speed

                        The left-most condition in each rule has the greatest impact on processing speed. If it does not make a difference in the final price, then follow these general rules to speed processing:

                        • Give the lowest sort orders to conditions with the most enumerated values.

                        • Do not give a condition a low sort order if it is flagged as Allow Any.

                        • Do not give conditions a low sort order if you allow wildcards in the condition.

                        Caution: Pricing administrators are responsible for correctly setting up the sort orders of the dimensions. Any duplicate or blank sort order values for condition dimensions with the Allow Any flag turned on can give unpredictable results.

                          About Wildcards in Attribute Adjustments

                          Selecting the Allow Any check box in a Dimension record lets you enter a blank instead of entering every different domain value for that dimension. This blank is called a null value wildcard. It represents all possible values in the given attribute’s domain.

                          For example, you sell T-shirts that come in the colors white, gray, and red, and also come in the sizes small, medium, large, and extra-large, with the pricing shown in the following table.

                          Color Size Adjustment Type Adjustment Amount

                          Red

                          Small

                          Markup Amount

                          $2.00

                          Red

                          Medium

                          Markup Amount

                          $2.00

                          Red

                          Large

                          Markup Amount

                          $2.00

                          Red

                          Extra-Large

                          Markup Amount

                          $5.00

                          There is no markup for any color except red. The red T-shirts are marked up $2, except for the extra-large size, which is marked up $5. Instead of the long list shown in the previous table, you can represent this with the short list shown in the following table.

                          Color Size Adjustment Type Adjustment Amount

                          Red

                          Not applicable

                          Markup Amount

                          $2.00

                          Red

                          Extra Large

                          Markup Amount

                          $5.00

                          In the previous table, the first row represents all the colors except red, and the second row represents all the sizes of red except extra-large.

                          The null value wildcard can reduce the work of creating a large attribute pricing table, but be careful to avoid the problems that it can create:

                          • If you are using the attribute adjustment for attribute pricing, then you may mistakenly enter wildcards that allow the user to choose invalid combinations of products.

                          • You may also mistakenly create several rules that represent the same combination of condition dimensions. Make sure that every combination of condition tables is unique.

                          If you do create several rules that represent the same combination of condition dimensions, then the application uses the rule with the most exact matches (not blanks) in the condition dimensions as the highest priority for processing. Priority is specified using the Sort Order field of the dimension.

                          Avoid using null value wildcards in the columns with the highest priority for processing. This increases the processing task for Siebel Pricer and causes the processing to take longer.

                          Note: If you use wildcards, then it is especially important to test your results after creating the attribute pricing table.

                            Preventing Users from Selecting Invalid Combinations of Attributes

                            You can select the Display Error check box in the Attribute Adjustment record to prevent users from selecting combinations of attributes that are not valid. Use this field judiciously, and not as a mechanism to enforce product configuration or other business rules. Attribute adjustments are primarily meant for pricing.

                            For example, if a product's large version comes in every color except green, you could use this option to display an error message if the user chooses both large and green.

                            If you select this option, then you must create a Rule record in the attribute adjustment representing every valid combination of attributes, even if the combination has zero effect on pricing. The application displays an error message if the user selects a combination of attributes that is not represented by a rule. For example, even if gold is the only color that requires a price markup, you will have to add Rule records for all the colors that the user can select. If there are 100 combinations of other attributes, and 10 possible colors, then you may have to create 1000 Rule records, even if only one color affects pricing (though you may be able to reduce the number using wildcards).

                            Note: If your deployment does not use the Display Error option, then you can remove the steps in the Dynamic Pricing Procedure that enforce the validity of the attribute combinations. These are the Invalid Combination Decision step and the Display Invalid Combination Error step. Removing these steps reduces processing time for the pricing. For more information about this pricing procedure, see Pricing Procedures and Workflow References.

                            To decide whether to use this option, weigh its benefits against its costs. There is a benefit to preventing users from choosing invalid combinations of attributes. However, the added administrative cost is high because there are many combinations of attributes that do not affect pricing.

                            If you select the Display Error option, then you must create a pricing adjustment item representing every valid combination of attribute values, but you must not create a pricing adjustment item for any invalid combination of attribute values. To create the correct pricing adjustment items, use one of the following two features of Siebel Pricer:

                            • Wildcards. If you select the Allow Any check box, then you can create adjustment items with null value wildcards that accommodate many dimension domain combinations, so you can use fewer adjustment items to represent all valid combinations. Wildcards may allow you to create rules representing every valid combination of attributes without entering a separate rule for each combination of attributes. For more information, see About Wildcards in Attribute Adjustments.

                            • Generate Rules button in the Conditions view. Use this button to automatically generate a full set of records for all possible combinations of values of attributes that affect pricing. You can delete the records that do not impact pricing and those that represent an invalid combination of attributes. After Rule records are generated, you must enter the adjustments. If any combinations of attributes are invalid, then you must delete those rules. For more information, see Adding Attribute Adjustment Conditions.

                            Note: If you select the Display Error option, then make sure that the default attributes for the product are a valid attribute pricing combination. If it is not a valid combination, then your Siebel application will not add the product when users click the Add Item button to add this product to a quote. Users will think that the Add Item button is not working.

                            It may be easier to use the Adjustment Item Generator to generate all possible attribute value combinations, each in its own adjustment item, than to use null value wildcards. To help make the decision, consider the following:

                            • If you use the Adjustment Item Generator, then you must do the extra administrative work of entering adjustment types and adjustment values in each record. This could involve much more work than using null value wildcards, if many combinations of attributes have the same price adjustment.

                            • If you use null value wildcards, then you may have a difficult conceptual task of analyzing the combinations of attributes to decide where you can use wildcards.

                            • If you choose the Display Error option, then you cannot use a null value wildcard for an attribute if that attribute is not always available. For example, if the extra-large size is available in all colors except gray, then you cannot create an adjustment item with the null value wildcard for both color and size (as in the previous example). If you create this adjustment value, then an error message is not generated when the user chooses extra-large and gray.

                              Zero-Effect Adjustment Items

                              If you choose the Display Error option, then you must create Rule records representing every valid combination of attributes, even if they have no effect on pricing. Even if you do not choose this option, you may want to create zero-effect rule records for the following reasons:

                              • To make the attribute adjustments easier to maintain. If a pricing attribute is not represented in the Rules list, then it can be difficult or impossible to add it later and integrate it with the rules already in the list.

                              • To create a comprehensive, well-structured set of rules. If a Rules list has a structured place for everything, then it can be easier to work with, even if it has items with zero effect.

                                Process of Creating an Attribute Adjustment

                                To create attribute adjustments, perform the following tasks:

                                1. Adding an Attribute Adjustment Record

                                2. Specifying Attribute Adjustment Dimensions and Domains

                                3. Adding Attribute Adjustment Conditions

                                4. Associating Attribute Adjustments with Price List Line Items

                                Note: Before you can perform this process, you must set up the appropriate variable maps, as described in Variable Maps in Attribute Adjustments.

                                  Adding an Attribute Adjustment Record

                                  This task is a step in Process of Creating an Attribute Adjustment.

                                  The Attribute Adjustment record holds general information about the attribute adjustment.

                                  To add an attribute adjustment record

                                  1. Navigate to the Administration - Pricing screen, then Attribute Adjustments view.

                                  2. In the Attribute Adjustments list, add a new record and complete the necessary fields as described in the following table.

                                    Field Comments

                                    Name

                                    Enter a name for the attribute adjustment.

                                    Class

                                    If product attributes affect the price, then select the class where these attributes are defined.

                                    Note: If you are setting up attribute adjustments based on nonproduct attributes such as Account Type, Region, and so on, then leave this field blank.

                                    Type

                                    Select the type of the adjustment. options are as follows:

                                    • Single. Each attribute (condition dimension) affects the price in isolation from the others.

                                    • Multiple. The price adjustment depends on a combination of attributes (condition dimensions).

                                    For more information, see Single and Multiple Type Attribute Adjustments.

                                    Display Error

                                    Select this check box if you want the application to display an error message when a user selects an invalid combination of attributes for the attribute pricing. The combination is considered invalid if it is not included in the list of rules. For more information about how to use this field, see Preventing Users from Selecting Invalid Combinations of Attributes.

                                    Note: This field is used only for attribute pricing. Do not select it if you are using attribute adjustment for some advanced use instead of for attribute pricing.

                                    Effective From and Effective To

                                    Enter the start date and end date of the time period when this attribute adjustment is active.

                                    Specifying Attribute Adjustment Dimensions and Domains

                                    This task is a step in Process of Creating an Attribute Adjustment.

                                    You must enter the dimensions of the attribute adjustment, which are used as the columns of the rules tables. There are two types of dimensions:

                                    • Condition dimensions. These are the dimensions that affect the price of a product. They determine the conditions under which the adjustment is applied. Create one condition dimension for each attribute that impacts the price of a product.

                                    • Result dimensions. These are the outputs of the attribute adjustment tables. When you click the Create Result Dimensions button, the application automatically creates the two result dimensions, Adjustment Type and Adjustment Amount.

                                    Optionally, if you want to automatically generate rule records, then you can enter the domain of each dimension, which is all the possible values of that dimension.

                                    Dimension domains can have multiple sources:

                                    • List of values (LOV). Enter the LOV Name.

                                    • Business component field values. Enter the Business Object, Business Component, Field, and Search Specification.

                                    • User defined. Manually enter all the values in the domain.

                                    • Attribute values. Enter the name of the attribute.

                                    When you define domains, you also specify whether values other than those included in the domain can be added to the rules list.

                                    Caution: If you change the source of the dimension by modifying the variable map type, then the Domain Type field, or making modifications in some other way, you must click the Create Domain button to regenerate the domain, and you must modify the rules (Conditions view) that have been set up so that the old domain values for a dimension are no longer used.

                                    To specify attribute adjustment dimensions and their domains

                                    1. Navigate to the Administration - Pricing screen, then Attribute Adjustments view.

                                    2. In the Attribute Adjustments list, select the attribute adjustment whose dimensions you are specifying.

                                    3. In the More Info view, click Create Result Dimensions.

                                    4. Click the Dimensions view tab.

                                    5. Add a record for each dimension that affects the price and complete the necessary fields, as described in the following table.

                                      Note: The Adjustment Amount and Adjustment Type dimensions were added automatically when you clicked Create Result Dimensions.

                                      Field Comments

                                      Dimension Type

                                      Select the type of the dimension. The options are Condition and Result, as described in Dimensions in Attribute Adjustments.

                                      Name

                                      Enter the name of the dimension to specify the column name in the Rules list.

                                      Note: The name of the dimension can be different from the field name it maps to. For example, the dimension Product Color can map to the product attribute Color.

                                      Operator

                                      If this is a condition dimension, then select the operator that you want to use to compare it with a value.

                                      For example, if you want to create the rule Size = XL, and if this record is the Size dimension, then you must select the equal operator (=). For more information, see How Attribute Adjustments Apply Rules.

                                      Variable Map Type

                                      Use this field for condition dimensions only. Select the type of the variable map, which determines the hierarchical level (header, line item or XA) of the contextual variable:

                                      • To map a dimension based on a field from Order Header, such as Order Status, use Context as the type.

                                      • To map a dimension based on a Line Item such as Product Line, use Row as the type.

                                      • To map dimensions based on product attributes, use XA as the type.

                                      For more information, see Variable Maps in Attribute Adjustments.

                                      Variable Name

                                      For dimensions with Row or Context variable map type, select the name of the variable from the variable map to map the dimension to it.

                                      Do not use for dimensions that are mapped to product attributes (variable map type - XA). For more information, see Variable Maps in Attribute Adjustments.

                                      Data Type

                                      Select the data type of this dimension.

                                      Domain Type

                                      Select the source of the domain for a dimension. The options are as follows:

                                      • Attribute. These are the values of an attribute that you want to use as the dimension domain. Any dimension that is associated with an XA variable map type automatically has Attribute as its domain type.

                                      • Business component. These are the values in a business component field that you want to use as the dimension domain.

                                      • LOV. These are the values in a list of values that you want to use as the dimension domain.

                                      • User defined. You will determine the dimension domain manually by adding new records to the Domain list.

                                      Bounded

                                      Select this check box to restrict the values used for this dimension in the rules. If you select this check box, then only the values listed in the domain of this dimension can be used in rules. If you do not select the check box, then any values can be used in rules.

                                      Allow Any

                                      Select this check box to allow any values to be entered for this dimension in rules.

                                      Business Object, Business Component, Field, Search Spec

                                      This field applies only if you selected Business Component in the Domain Type field. To create the domain for the dimension, specify the business component field you must use along with the Business Object, Business Component, and a Search Spec. The Business Component has the field whose values are used for the domain. The Search Spec is used to limit which values from the field you want to use as the domain. After you enter values in these fields, click the Create Domain button to enter the values from the field in the Domain list.

                                      Note: To avoid poor performance, be sure to enter a Search Spec or the application may take a long time to generate all the domain records.

                                      Attribute

                                      If you want to base the domain on the values of an attribute, then select the attribute. After you enter an attribute here, you can click the Create Domain button to enter all the values of this attribute in the Domain list.

                                      LOV

                                      If you want to base the domain on the values in a list of values (LOV), then select the LOV. After you select an LOV here, you can click the Create Domain button to enter all the values of this LOV in the Domain list.

                                      Sort Order

                                      Enter the number specifying where this dimension appears in the rules list. For example, if you want this to be the first column in the rules list, then enter 1.

                                      This field determines the priority of this rule when the application performs a lookup against the rules table. For more information, see How Attribute Adjustments Apply Rules.

                                      Sort Method

                                      Select Ascending to display the dimensions in the order specified in the Sort Order field, or select Descending to display the dimensions in the reverse order. For more information, see How Attribute Adjustments Apply Rules.

                                      Translate

                                      This boolean flag is used for multi-lingual deployments. Out of the box, this flag is hidden in the Dimensions list and needs to be exposed if it is required for usage. This flag is used only for dimensions of the data type String that are based on domains Attribute and LOV.

                                      When checked, the application stores internally the Language Independent Code of the domain value.

                                      Note: Use the Translate flag only in multi-lingual deployments. Do not use for deployments that are not multi-lingual.
                                    6. If you selected User Defined in the Domain Type field, then you must enter the domain for this dimension manually as follows:

                                      1. In the Dimensions list, select the record.

                                      2. In the Domain list, add records and enter all possible values for the selected dimension.

                                    7. If you selected Attribute, Business Component or LOV in the Domain Type field, then to generate values for domains, click Create Domain.

                                      Adding Attribute Adjustment Conditions

                                      This task is a step in Process of Creating an Attribute Adjustment.

                                      After you have set up the dimensions of the attribute adjustment, you can add conditions, which are the rules that state the result of the adjustment for each combination of condition dimensions.

                                      To add attribute adjustment conditions

                                      1. Navigate to the Administration - Pricing screen, then Attribute Adjustments view.

                                      2. In the Attribute Adjustments list, select the attribute adjustment whose rules you are specifying.

                                      3. Click the Conditions view tab.

                                        The conditions list appears, with a Name column for the name of each condition.

                                      4. If all domain values of each dimension impact price, then you can generate rules as follows:

                                        1. In the Attribute Adjustment form, click Generate Rules.

                                          Records are added to the Rules list with every possible combination of domain values of the condition dimensions domains.

                                        2. Enter the Adjustment Type and Adjustment Value for each record in the Rules list.
                                      5. If you are entering rules manually, then:

                                        1. In the Attribute Adjustment form, click New.

                                        2. In the new record, enter one possible value of the condition dimensions, and enter values in the Adjustment Type and Adjustment Amount columns to specify the result for that combination of conditions.

                                        3. Continue to add new records until you have entered all the necessary rules.

                                        Associating Attribute Adjustments with Price List Line Items

                                        This task is a step in Process of Creating an Attribute Adjustment.

                                        To apply adjustments to a product, you associate the attribute adjustment with the product in a price list line item. The attribute adjustments apply to all customers who use this price list.

                                        To associate attribute adjustments with price list line items

                                        1. Navigate to the Administration - Pricing screen, then Price Lists view.

                                        2. In the Price Lists list, select the appropriate price list.

                                        3. Click the Price List Line Items view tab.

                                        4. In the Price List Line Items list, find the record for the appropriate price list and in the Attribute Adjustments field, select the attribute adjustment.

                                          Example of Creating an Attribute Adjustment Based on Product Attributes

                                          This topic gives one example of how to create attribute-based pricing based on product attributes. You may use this feature differently, depending on your business model.

                                          In this example, adjustments are applied to the price of automobiles based on two attributes:

                                          • Interior color has the possible values red, green, and blue.

                                          • Transmission has the possible values automatic and manual.

                                          Because of current market and inventory conditions, you want to create the three price adjustments shown in the following table. These price adjustments will apply only to vans sold to retail customers.

                                          Interior Color Transmission Adjustment Type Adjustment Amount

                                          Green

                                          Automatic

                                          % Discount

                                          $10

                                          Red

                                          Manual

                                          % Markup

                                          $10

                                          Blue

                                          Manual

                                          Price Override

                                          $22,000

                                          This example assumes that you have already created the class Horizon Autos, the product Van, and the price list Retail. For information about creating classes and products, see Siebel Product Administration Guide. For information about creating price lists, see Creating and Assigning Price Lists This example also assumes that you have set up variable maps, as described in Variable Maps in Attribute Adjustments.

                                            Creating the Attribute Adjustment Record

                                            First, create the Attribute Adjustment record. The type must be multiple, because the price adjustments depend on more than one attribute. It must be associated with the class Horizon Autos, which includes these attributes.

                                            To create the attribute adjustment record

                                            1. Navigate to the Administration - Pricing screen, then Attribute Adjustments view.

                                            2. In the Attribute Adjustments list, add a new record and complete the necessary fields as described in the following table.

                                            Field Value

                                            Name

                                            Horizon Autos Retail Van Adjustments

                                            Class

                                            Horizon Autos

                                            Type

                                            Multiple Dimension

                                              Specifying Dimensions and Domains

                                              Next, set up the dimensions that you want to use in the attribute adjustments. You must add two condition dimensions for the attributes that are the basis of price adjustments (Interior Color and Transmission).

                                              You must also add two result dimensions that determine the amount of the price adjustment (Adjustment Amount and Adjustment Type), which are added automatically when you click Create Result Dimensions.

                                              You also enter the domains for each of these dimensions, and you select the Bounded check box in the Dimension records. This controls data entry in the Rules list, so only valid values can be entered in the columns for these dimensions.

                                              Use the following procedure to specify the result dimensions and their domains.

                                              To specify the result dimensions and their domains

                                              1. In the Attribute Adjustments list, click Create Result Dimensions.

                                              2. Click the Pricing Dimensions view tab.

                                                Records have already been added to the Dimensions list for the two result dimensions, Adjustment Amount and Adjustment Type.

                                              3. In the Pricing Dimensions list, select the record for adjustment type, and click Create Domain.

                                                Records are added to the Domain list for the five possible values of adjustment type.

                                                Specifying Condition Dimensions and Domains

                                                Use the following procedure to specify the condition dimensions and their domains.

                                                To specify the condition dimensions and their domains

                                                1. Add a record to the Dimensions list to represent the Interior Color attribute and complete the necessary fields, as described in the following table.

                                                  Field Value

                                                  Dimension Type

                                                  Condition

                                                  Name

                                                  Int Color

                                                  Operator

                                                  =

                                                  Variable Map Type

                                                  XA

                                                  Data Type

                                                  Text

                                                  Domain Type

                                                  Attribute

                                                  Bounded

                                                  Y

                                                  Attribute

                                                  Interior Color

                                                  Sort Order

                                                  1

                                                  Sort Method

                                                  Ascending

                                                2. Click Create Domain.

                                                  The three values for this domain (red, blue, and green) appear in the Domain list.

                                                3. Add a record to the Dimensions list to represent the Transmission attribute and complete the necessary fields, as described in the following table.

                                                  Field Value

                                                  Dimension Type

                                                  Condition

                                                  Name

                                                  Transmission

                                                  Operator

                                                  =

                                                  Variable Map Type

                                                  XA

                                                  Data Type

                                                  Text

                                                  Domain Type

                                                  Attribute

                                                  Bounded

                                                  Y

                                                  Attribute

                                                  Transmission

                                                  Sort Order

                                                  2

                                                  Sort Method

                                                  Ascending

                                                4. Click Create Domain.

                                                  The two values for this domain (automatic and manual) appear in the Domain list.

                                                  Adding Pricing Conditions

                                                  After you have set up the dimensions of the attribute adjustment, you can add conditions. The Conditions list has a column for each of the dimensions that you created.

                                                  Because you are creating conditions for only three price adjustments, you add the Conditions records manually instead of using the Generate Rules button.

                                                  To add pricing conditions

                                                  1. Click the Conditions view tab.

                                                  2. Add a record to the Conditions list and complete the necessary fields, as described in the following table.

                                                    Field Value

                                                    Sequence

                                                    1

                                                    Int Color

                                                    Green

                                                    Transmission

                                                    Automatic

                                                    Adjustment Type

                                                    % Discount

                                                    Adjustment Amount

                                                    10

                                                  3. Add a second record to the Conditions list and complete the necessary fields, as described in the following table.

                                                    Field Value

                                                    Sequence

                                                    2

                                                    Int Color

                                                    Red

                                                    Transmission

                                                    Manual

                                                    Adjustment Type

                                                    % Markup

                                                    Adjustment Amount

                                                    10

                                                  4. Add a third record to the Conditions list and complete the necessary fields, as described in the following table.

                                                    Field Value

                                                    Sequence

                                                    3

                                                    Int Color

                                                    Blue

                                                    Transmission

                                                    Manual

                                                    Adjustment Type

                                                    Price Override

                                                    Adjustment Amount

                                                    22,000

                                                    Associating the Attribute Adjustment with a Product and Price List

                                                    After you have created the attribute pricing conditions, you must associate them with a product on a price list to make them effective. These conditions apply to vans sold to retail customers.

                                                    To associate the attribute adjustment with a product and price list

                                                    1. Navigate to the Administration - Pricing screen, then Price Lists view.

                                                    2. In the Price Lists list, select the record for the price list named Retail.

                                                    3. Click the Price List Line Items view tab.

                                                    4. In the Price List Line Items list, in the record for the product named Van, in the Attribute Adjustment field, select Horizon Autos Retail Van Adjustments.

                                                      Example of Creating an Attribute Adjustment with Nonproduct Attributes

                                                      This topic gives one example of how to create attribute-based pricing with nonproduct attributes. You may use this feature differently, depending on your business model.

                                                      In this example, adjustments are applied to the price of automobiles based on three attributes in three different business components:

                                                      • Transmission. This is a product attribute that has the possible values Automatic and Manual.

                                                      • Account Type. This is a header field that has the possible values Customer, Commercial, and Partner.

                                                      • Quantity. This is a line item field that can have any numeric value.

                                                      This example creates three possible adjustments based on these attributes:

                                                      • All vans (a product) ordered for a commercial account with manual transmission and a quantity greater than 20 will be priced at $18,000 (price override).

                                                      • All vans ordered for a customer account with manual transmission and a quantity greater than 15 will be marked up by 10% (% Markup).

                                                      • All vans ordered for a partner account with automatic transmission and a quantity greater than 10 will be discounted by 10% (% Discount).

                                                      All these discounts apply to the price list named Americas Price List.

                                                      This example assumes that you have already created the class Horizon Autos, the product Van, and the price list Americas Price List. For information about creating classes and products, see Siebel Product Administration Guide. For information about creating price lists, see Creating and Assigning Price Lists.

                                                        Modifying the Variable Map

                                                        First, you must modify the variable map Default Pricing Variable Map - Context, so Account Type is defined as a variable in this map. Do this only if Account Type is not already defined as a variable in the map.

                                                        To modify the variable map

                                                        1. Navigate to the Administration - Order Management screen, then Variable Maps view.

                                                        2. Select and lock the variable map Default Pricing Variable Map - Context.

                                                        3. In the Versions list, click Workspace.

                                                          Details of the new version of the variable map appear.

                                                        4. In the Variable Definitions list, add a new record and complete the necessary fields as described in the following table.

                                                          Field Value

                                                          Variable Name

                                                          Account Type

                                                          In/Out

                                                          In

                                                          Type

                                                          Text

                                                          On Null

                                                          Ignore

                                                        5. In the Variable Sources list, specify the source of the new variable, as shown in the following table.

                                                          Field Value

                                                          Mode

                                                          Any

                                                          Path

                                                          $Current/Header/Account Type

                                                          Source Type

                                                          Instance

                                                        6. Restart the client application to make sure that the variable map changes are available.

                                                          Creating the Attribute Adjustment Record

                                                          The type of the Attribute Adjustment record must be multiple, because the price adjustments depend on more than one attribute. The type must be associated with the class Horizon Autos, which includes these attributes.

                                                          To create the attribute adjustment record

                                                          1. Navigate to the Administration - Pricing screen, then Attribute Adjustments view.

                                                          2. In the Attribute Adjustments list, add a new record and complete the necessary fields, as described in the following table.

                                                            Field Value

                                                            Name

                                                            Horizon Autos

                                                            Class

                                                            Horizon Autos

                                                            Type

                                                            Multiple Dimension

                                                            Specifying Dimensions and Domains

                                                            Next, set up the dimensions that you want to use in the attribute adjustments. You must add three condition dimensions for the attributes that are the basis of price adjustments (Transmission, Account Type, and Quantity).

                                                            Also, you must add two result dimensions that determine the amount of the price adjustment (Adjustment Amount and Adjustment Type), which are added automatically when you click Create Result Dimensions.

                                                            You also enter the domains for each of these dimensions. Select the Bounded check box in the Dimension records to control data entry in the Rules list, so only valid values can be entered in the columns for these dimensions.

                                                            To specify the result dimensions and their domains

                                                            1. In the Attribute Adjustments list, click Create Result Dimensions.

                                                            2. Click the Pricing Dimensions view tab.

                                                              Records have already been added to the Dimensions list for the two result dimensions, Adjustment Amount and Adjustment Type.

                                                            3. Add a record to the Dimensions list to represent the Transmission attribute and complete the necessary fields, as described in the following table.

                                                              Field Value

                                                              Dimension Type

                                                              Condition

                                                              Name

                                                              Transmission

                                                              Operator

                                                              =

                                                              Variable Map Type

                                                              XA

                                                              Data Type

                                                              Text

                                                              Domain Type

                                                              Attribute

                                                              Bounded

                                                              Y

                                                              Attribute

                                                              Transmission

                                                              Sort Order

                                                              1

                                                              Sort Method

                                                              Ascending

                                                            4. Click Create Domain.

                                                              The two values for this domain (automatic and manual) appear in the Domain list.

                                                            5. Add a record to the Dimensions list to represent the Account Type attribute and complete the necessary fields, as described in the following table.

                                                              Field Value

                                                              Dimension Type

                                                              Condition

                                                              Name

                                                              Act Type

                                                              Operator

                                                              =

                                                              Variable Map Type

                                                              Context

                                                              Data Type

                                                              Text

                                                              Domain Type

                                                              Business Component

                                                              Bounded

                                                              Y

                                                              Business Object

                                                              List of Values

                                                              Sort Order

                                                              2

                                                              Sort Method

                                                              Ascending

                                                              Business Component

                                                              List of Values

                                                              Field

                                                              Value

                                                              Search Spec

                                                              [Type] = “ACCOUNT_TYPE"

                                                              Note: In this example, Business Component is used as the domain for setting up the Act Type dimension. However, a better way to define the domain in practice would be to use LOV with the value ACCOUNT_TYPE in the LOV field.
                                                            6. Click Create Domain.

                                                              The values for this domain appear in the Domain list.

                                                            7. Add a record to the Dimensions list to represent the Quantity attribute and complete the necessary fields, as described in the following table.

                                                              Field Value

                                                              Dimension Type

                                                              Condition

                                                              Name

                                                              Quantity

                                                              Operator

                                                              <

                                                              Variable Map Type

                                                              Row

                                                              Data Type

                                                              Number

                                                              Domain Type

                                                              User Defined

                                                              Bounded

                                                              Y

                                                              Sort Order

                                                              3

                                                              Sort Method

                                                              Ascending

                                                            8. Because Quantity has a user-defined domain, create its domain manually by adding records to the Domains list as follows:

                                                              1. Add a record to the Domains list and complete the necessary fields, as described in the following table.

                                                                Field Value

                                                                Sequence

                                                                1

                                                                Domain

                                                                10

                                                              2. Add another record to the Domains list and complete the necessary fields, as described in the following table.

                                                                Field Value

                                                                Sequence

                                                                2

                                                                Domain

                                                                15

                                                              3. Add another record to the Domains list and complete the necessary fields, as described in the following table.

                                                                Field Value

                                                                Sequence

                                                                3

                                                                Domain

                                                                20

                                                              Adding Pricing Conditions

                                                              After you have set up the dimensions of the attribute adjustment, you can add conditions. The Conditions list has a column for each of the dimensions that you created.

                                                              In this example, you add the Conditions records manually instead of using the Generate Rules button.

                                                              To add pricing conditions

                                                              1. Click the Conditions view tab.

                                                              2. Add a record to the Conditions list and complete the necessary fields, as described in the following table.

                                                                Field Value

                                                                Sequence

                                                                1

                                                                Transmission

                                                                Manual

                                                                Act Type [=]

                                                                Commercial

                                                                Quantity [<]

                                                                20

                                                                Adjustment Type

                                                                Price Override

                                                                Adjustment Amount

                                                                18,000

                                                              3. Add a second record to the Conditions list and complete the necessary fields, as described in the following table.

                                                                Field Value

                                                                Sequence

                                                                2

                                                                Transmission

                                                                Manual

                                                                Act Type [=]

                                                                Customer

                                                                Quantity [<]

                                                                15

                                                                Adjustment Type

                                                                % Markup

                                                                Adjustment Amount

                                                                10

                                                              4. Add a third record to the Conditions list and complete the necessary fields, as described in the following table.

                                                                Field Value

                                                                Sequence

                                                                3

                                                                Transmission

                                                                Automatic

                                                                Act Type [=]

                                                                Partner

                                                                Quantity [<]

                                                                10

                                                                Adjustment Type

                                                                % Discount

                                                                Adjustment Amount

                                                                10

                                                                Associating the Attribute Adjustment with a Product and Price List

                                                                After you have completed setting up the attribute adjustments, you must associate them with a product on a price list to make them effective. These conditions apply to the product named Van and to the price list named Americas Price List.

                                                                To associate the attribute adjustment with a product and price list

                                                                1. Navigate to the Administration - Pricing screen, then Price Lists view.

                                                                2. In the Price Lists list, select the record for the price list named Americas Price List.

                                                                3. Click the Price List Line Items view tab.

                                                                4. In the Price List Line Items list, find the record for the product named Van and in the Attribute Adjustment field, select Horizon Autos.

                                                                  Testing the Attribute Adjustments

                                                                  You can test the attribute adjustments for three different account types. This example assumes that you have created the following accounts:

                                                                  • ABC. Account Type = Customer.

                                                                  • XYZ. Account Type = Commercial.

                                                                  • 123. Account Type = Partner.

                                                                  To test the attribute adjustments

                                                                  1. In the Quotes screen, create a new quote with price list Americas Price List and account ABC (Account Type = Customer).

                                                                  2. Add the product Van as a line item of the quote.

                                                                  3. Set the attribute Transmission to Manual as follows:

                                                                    1. Click Customize to launch Configurator.

                                                                    2. In Configurator, set the attribute Transmission to Manual.

                                                                    3. Click Done to exit from Configurator.

                                                                  4. For the quantity of the product Van, enter 16.

                                                                    The net price of the product Van is marked up by 10%.

                                                                  5. Click the Net Price field to display the pricing waterfall, to view this adjustment.

                                                                  6. Test the second attribute adjustment as follows:

                                                                    1. In the Quote, change the account to XYZ (Account Type = Commercial).

                                                                    2. In the line item, change the product quantity to 21.

                                                                      The net price of the product Van is $18,000.

                                                                  7. Test the third attribute adjustment as follows:

                                                                    1. In the Quote, change the account to 123 (Account Type = Partner).

                                                                    2. Click Customize and use Configurator to change the value of the attribute Transmission to Automatic.

                                                                    3. In the line item, change the product quantity to 11.

                                                                      The net price of the product Van is discounted by 10%.

                                                                    Guidelines for Creating Attribute Adjustments

                                                                    This topic provides guidelines for creating attribute adjustments. Use attribute adjustments in cases where:

                                                                    • The values of the variables that are used to determine the results are not known ahead of time.

                                                                    • Integrations to external applications are secondary criteria.

                                                                    • There is a small number of total rules, in the thousands at the most.

                                                                      Use Sort Order to Improve Performance

                                                                      You can use the Sort Order and Sort Method fields of the Dimensions record to specify the order in which attributes are processed. For information about how this affects performance, see Order of Conditions in Multiple-Condition Pricing Tables.

                                                                        Use Nonequality Operators to Improve Performance

                                                                        You can reduce the number of rules required by using the nonequality comparison operators to limit the size of the rules table, when possible. For example, if any shirt that is of length 40 or smaller receives a 10% discount, then you can set up a condition dimension for the Length attribute with greater than (>) operator to set up the price adjustment rule. For more information, see Adding Attribute Adjustment Conditions.

                                                                        Caution: Make sure that the attribute adjustment is set up so that the attribute adjustment returns only one record. When nonequality operators are used, the attribute adjustment may return more than one record. Pricing administrators are responsible for setting up the dimensions in the appropriate way or setting up the pricing procedure to handle multiple matches.

                                                                        Using wildcards does not improve performance, but it does decrease the number of records in the rules table.

                                                                          Numeric Dimensions and Operators

                                                                          If a condition dimension is compared with a numeric value using the equal (=) operator, then you can improve performance by setting its data type to text. Property sets can store only text values, and when you use a numeric comparison, there is an overhead to convert the text to numeric values at run time. You must use numeric values for less than (<) or greater than (>) comparisons, but if you are using an equal (=) comparison operator, then you will get the same result whether the data is numeric or text.

                                                                            Comparison Operators

                                                                            When the rules in attribute adjustments use comparison operators such as the greater than (>) and less than (<) operators:

                                                                            • The data types of the condition dimensions must be number or date.

                                                                            • Pay special attention to the following:

                                                                            • Whether the rule must act on all the rows of data when you enter the values that the conditions must match

                                                                            • The Sort Order properties of the dimensions. Blanking out or duplicating the sort order will give undefined results.

                                                                            • The Sort Order and Sort Method fields of the dimensions. These fields determine the order in which the rules are processed, and you must select values that minimize the number of records that must be processed.

                                                                              How the Pricing Procedure Uses Attribute Adjustments

                                                                              After an attribute adjustment is set up, the pricing procedure must perform a lookup against it in the pricing procedure so that adjustments can be applied at run time. For more information about the pricing procedure, see Pricing Procedures and Workflow References.

                                                                              The pricing procedure does this lookup using the Attribute Adjustment step, which invokes the Dynamic Lookup Transform. For more information about the Dynamic Lookup Transform, see Siebel Order Management Infrastructure Guide.

                                                                              Upgrade Considerations for Attribute Adjustments

                                                                              When you upgrade from earlier versions of Siebel applications to version 7.8 or later, use the On First Match (Action) argument of the Dynamic Lookup Transform. This argument makes attribute pricing that is defined in the Attribute Adjustments list in version 7.8 or later work the same way as attribute-based pricing feature in earlier versions.

                                                                              Without configuration, the pricing procedure provides the same functionality as in the earlier release.

                                                                              The Attribute Adjustments list can return multiple rows. The first row it returns will always be consistent with attribute pricing behavior in earlier versions. Using On Match arguments can return results that are not consistent with the behavior of versions earlier than 7.8.