The following steps describe how to price items using price lists.
Assign a price list to a user.
The price list that is used to price an order is stored in the user’s profile. There will be a property called
priceList
of typepriceList
.Note: ATG Business Commerce users can also store this price list in the contract used by the customer’s organization.
Price an item with a price list.
There are price list-specific versions of each of the precalculators used by the
ItemPricingEngine
.ItemPriceListCalculator
is the precalculator for list pricing.ConfigurableItemPriceListCalculator
is the precalculator for configurable item pricing.View a price through JSP code in JSPs.
The
PriceDroplet
servlet bean is used for looking up the price of an item. For more information on thePriceDroplet
servlet bean, see the PriceDroplet section in this chapter in the ATG Commerce Guide to Setting Up a Store.
Caching Price Lists
PriceCache
allows you to cache the prices in price lists. Price lists can contain a large number of prices. If you do not want the PriceCache
to hold all the prices in the prices list, adjust the PriceCache
settings in your liveconfig
directory. The PriceCache
settings are located in liveconfig/atg/commerce/pricing/priceLists/PriceCache.properties
.
Using Price Lists in Combination with SKU-Based Pricing
ATG Commerce supports three pricing model options: SKU-based pricing alone, price lists alone, and a combination of both. In the combination case, your pricing system is configured to use price lists, but if no price is found in the lists you have specified, it falls back to the catalog price. Consider using combined price lists and SKU-based pricing if most of your customers pay the same prices for most of your products, with only a few variations.
To use this pricing method, create the price lists as normal; however, your lists need only include the specific products for which you want to offer multiple prices. Then configure the following two properties of the atg.commerce.pricing.priceLists.ItemPriceCalculator
component:
noPriceIsError=false
noPriceCalculator=path_to_an_ItemPricingCalculator
Which ItemPriceCalculator
component to configure depends on the desired behavior. For example, if you want to allow missing non-sale prices to use SKU pricing, configure the ItemPriceListCalculator
as shown:
noPriceIsError=false
noPriceCalculator=/atg/commerce/pricing/calculators/ItemListPriceCalculator
Note that the component being configured is the PriceListCalculator, and the path points to the ListPriceCalculator. See the Price List Calculators section of this chapter for further information on these components.