5 Replies Latest reply: Nov 5, 2012 6:25 AM by Nitin Khare

Difference between ItemPriceListCalculator and ItemListPriceCalculator?

What is the difference between ItemPriceListCalculator and ItemListPriceCalculator ?

which one is used for price lists
and which one is used for List Price ?
• 1. Re: Difference between ItemPriceListCalculator and ItemListPriceCalculator?
ItemPriceListCalculator:
refer:
http://docs.oracle.com/cd/E26180_01/Platform.94/ATGCommProgGuide/html/s0810settinguppricelistfunctionalityi01.html

ItemListPriceCalculator:
A calculator which determines the list price of an item and sets the itemPriceInfo to be that amount. The pricing scheme for that item is list pricing.
-RMishra

Edited by: RMishra on Nov 2, 2012 2:23 PM
• 2. Re: Difference between ItemPriceListCalculator and ItemListPriceCalculator?
ItemPriceListCalculator is a pre-calculator for list pricing and typically used via /atg/commerce/pricing/ItemPricingEngine as:
preCalculators=calculators/ItemPriceListCalculator

ItemListPriceCalculator is calculator to determine the list price of an item which internally calls the getPrice() on the PriceListManager to retrieve the list price of the CommerceItem. It then multiplies the price by the quantity returned by the getQuantity method of CommerceItem to get the total price.
• 3. Re: Difference between ItemPriceListCalculator and ItemListPriceCalculator?
So do you meant to say that_ :

ItemPriceListCalculator : is for calculating the list price i.e. SKU level property
ItemListPriceCalculator : is for calculating the price list i.e. the list of price ?
• 4. Re: Difference between ItemPriceListCalculator and ItemListPriceCalculator?
Info about itemlistpricecalculator and itemsalepricecalculator: http://docs.oracle.com/cd/E24152_01/Platform.10-1/ATGCommProgGuide/html/s1307implementingsalepricesusingprice01.html

ItemListPriceCalculator :Price List ItemPriceCalculator

The ItemPriceCalculator class can either price a single commerce item or price a list of commerce items. It first selects the priceList to use based on the profilePriceListPropertyName property. The ItemPriceCalculator then delegates the pricing to different ItemSchemePriceCalculators based on the item’s pricing scheme by the pricingSchemePropertyName property.

The ItemPriceListCalculator component is located in the ACC at /atg/commerce/pricing/calculators/ItemPriceListCalculator. It has the following properties:

loggingIdentifier: the ID that this class uses to identify itself in logs.

pricingSchemePropertyName: the property name in the repository for the pricing scheme.

profilePriceListPropertyName: the property name in the repository for the user’s price list.

useDefaultPriceList: If true and ProfilePriceListPropertyName is null, then the value of the automaticallyUseDefaultPriceList property of the PriceListManager determines if the default price list is used. If false, then the default price list is never used.

noPriceIsError: If true, and the price list is null or there is no price in the price list, then an error is thrown. If false, and the price list is null, then nothing happens.

priceListManager: points to the location of the PriceListManager.

pricingSchemeNames: the Map whose key is the allowed scheme names and whose value is the corresponding calculators.
http://docs.oracle.com/cd/E24152_01/Platform.10-1/ATGCommProgGuide/html/s1306pricelistcalculators01.html
-RMishra
• 5. Re: Difference between ItemPriceListCalculator and ItemListPriceCalculator?
Let me try to explain this differently. As you would know that ATG supports 3 pricing models: SKU based, price-list based and hybrid (combination of SKU & price-list based). Now in order to use price-list, the ItemPricingEngine has to be configured to use the appropriate calculator like: preCalculators=calculators/ItemPriceListCalculator

ItemPriceListCalculator contains all functionality common to all pricing schemes for list price. ItemPriceListCalculator has a pricingSchemeNames property which is a map holding pricing scheme names as key and the corresponding calculator as value like following:
listPrice =>ItemListPriceCalculator
bulkPrice =>ItemBulkPriceCalculator
tieredPrice => ItemTierPriceCalculator

In the hybrid case, the pricing system is configured to use price lists but in case no price is found in the lists you have specified, it falls back to the catalog price. To use combination of price-lists and SKU based pricing we can configure the ItemPriceListCalculator as:

noPriceIsError=false
noPriceCalculator=/atg/commerce/pricing/calculators/ItemListPriceCalculator

Here the ItemListPriceCalculator can have the configuration as:

priceFromCatalogRef=true
pricePropertyName=listPrice

When a CommerceItem is passed to the ItemListPriceCalculator for determining the price, ItemListPriceCalculator will look at the item's catalogRef property (SKU) and retrieve the value of that object's listPrice property.

So, in terms of your question: ItemListPriceCalculator is used for listPrice SKU property while ItemPriceListCalculator is used for price lists.