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

    Difference between ItemPriceListCalculator and ItemListPriceCalculator?

    970888
      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?
          RMishra
          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?
            Nitin Khare
            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?
              970888
              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?
                RMishra
                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?
                  Nitin Khare
                  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.