Documentation >
MAC-PAC Reference Library >
Distribution >
Expert Configurator >
Key Concepts and Procedures >
Exhibit B: Expert Configurator Multi-Level Example >
Pricing Rules
Pricing Rules
The configured pricing rules calculate a price based on the sales order options selected. In our desk example, we defined a secondary variable for the desk called BASEPRICE with the base price of a standard desk of 469. Similarly, we created a global variable rule for the drawer called DRAWERPRICE with a base price of the drawers of 148. For more information on variables, see the Key Concepts and Procedures section of this manual. Because DRAWERPRICE is defined as a global variable, we can access that information and add it to the price of the desk when the desk pricing rules are processed.
After creating a variable with the basic price of the desk, we created a Finalize Price Rule to calculate the price of a luxury desk as one and one-half the amount of the base price plus the price of the drawers (DRAWERPRICE). The Finalize Price Rule for the standard model sets the price equal to the base price of the desk plus the price of the drawers (DRAWERPRICE). The syntax for the final price calculations appear in the VALUE OF FINAL PRICE field on the Pricing Rule Inquiry Screen as follows:
Standard: ((S-BASEPRICE,X,1),+,G-DRAWERPRICE)
Luxury: ((S-BASEPRICE,X,1.5),+,G-DRAWERPRICE)
We ensure that the proper price rule is executed by conditioning the luxury price calculation to be processed only if the luxury model was selected on the sales order option selection screen. See below for an example of the Finalized Price Rule for the luxury desk option.
WILLIAMS PLT BEL EXPERT CONFIGURATOR 3/03/92
DSP01 PRICING RULE MAINTENANCE DETAIL
FINALIZE PRICE
Rule Number 00155 01 Part Number DRAWER-001 Action Code FP Vers 01
Condition
(O-LUXURY,EQ,"Y")
VALUE OF FINAL PRICE
((S-BASEPRICE,X,1.5),+,G-DRAWERPRICE)
F2=Command F3=Exit F7=Header F9=Inquiry
F10=Function Select F15=Rekey Data
|
The Pricing Rule Maintenance Finalize Price Detail Screen.
We created Finalize Price rules for the drawer in a similar manner depending on whether the pencil cup is chosen or not. Normally, a Finalize Price Rule finalizes the price of the part in the database and returns the value to the Order Processing conversations. However, a Finalize Price Rule for a lower-level configured component does not perform the normal functions of a Finalize Price Rule for a parent part. For configured components, the rule only performs the calculations specified in the body of the rule. No changes are made to the database, and the value is not returned to Order Processing. We use a Finalize Price Rule here instead of another pricing rule in case the drawer is ever ordered as a stand-alone part (such as a service part). If the drawer is ordered on its own, we would need a Finalize Price Rule to update the database and return the price of the part to Order Processing.
With a pencil cup, the drawer price is increased by 50. Without a pencil cup, the drawer price is the same as the drawer base price. The figure below shows the Finalize Price Rule for a drawer with a pencil cup.
WILLIAMS PLT BEL EXPERT CONFIGURATOR 3/03/92
DSP01 PRICING RULE MAINTENANCE DETAIL
FINALIZE PRICE
Rule Number 00165 01 Part Number DRAWER-001 Action Code FP Vers 01
Condition
(O-PENCILCUP,EQ,"Y")
VALUE OF FINAL PRICE
(G-DRAWERPRICE,+,50)
F2=Command F3=Exit F7=Header F9=Inquiry
F10=Function Select F15=Rekey Data
|
The Finalize Price Rule for a Drawer with a Pencil Cup.
Note that in our example we do not create pricing rules based on the drawer version (two or three drawers), the color selected (for drawer or desk), or the model of the desk (Stockholm or London). However, pricing rules based on these conditions could be created. Also, please note that the final price of the desk is stored in the global variable DRAWERPRICE.