Overview | Package | Class | Tree | Deprecated | Index | Help
| © 2004 BEA Systems, Inc.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.bea.commerce.ebusiness.price.service
Interface PriceService

All Superinterfaces:
  EJBObject, Remote

public interface PriceService
extends EJBObject

A stateless session EJB used to price Line objects based on discounts represented by QualificationDiscountDef objects. The Price service uses the DiscountMgmt and DiscountAssociation services to determine what discounts are available for a given customer and the definitions for those discounts. The Price service works on a model where each discount may only applied once and each quantity one (1) of a Line item may only be used as a trigger or have its price adjusted once. Likewise, the order or shipping cost may only be used as a trigger or have its price adjusted once. See the product documentation for more details.

See Also:
  `QualificationDiscountDef`, `DiscountMgmt`, `DiscountAssociation`, `Line`

Method Summary
`PricingReply` | `computeSubtotal(PricingRequest request)` This method applies a set of discounts to the collection of Line items provided in the PricingRequest.
`PricingReply` | `computeTotal(PricingRequest request)` This method applies a set of discounts to the collection of Line items provided in the PricingRequest.

Methods inherited from interface javax.ejb.EJBObject
`getEJBHome, getHandle, getPrimaryKey, isIdentical, remove`

Method Detail

### computeSubtotal

    public PricingReply computeSubtotal(PricingRequest request)
                                 throws PricingException,
                                        RemoteException

  This method applies a set of discounts to the collection of Line items provided in the PricingRequest. computeSubtotal() is intended for pricing Lines during shopping as it does not require the CustomerPk to be set in the PricingRequest. If the CustomerPk is set, the service will use it to determine, through the association service, if the customer is eligible for additional discounts. This method requires that the base shipping be set in the PricingRequest, failure to set the base shipping will cause a RuntimeException to be thrown. The quote field in the PricingReply will not be populated by this method. Use computeTotal() if the Quote object is needed. The Line items from the PricingRequest are added to the PricingReply prior to this method returning. The Line items are returned in the same order as they were submitted. Each Line item that has been adjusted during the pricing operation will have one(1) to many DiscountPresentations attached to it on completion.

  Parameters:
    `request` - request parameters for the pricing operation.
  Returns:
    a populated PricingReply object.
  Throws:
    `RuntimeException` - if the base shipping of the PricingRequest is null or the Line items are invalid.
    `PricingException`
    `RemoteException`
  See Also:
    `PricingRequest`, `PricingRequestImpl`, `PricingReply`, `Quote`, `Line`, `DiscountPresentation`, `CustomerPk`

### computeTotal

    public PricingReply computeTotal(PricingRequest request)
                              throws PricingException,
                                     RemoteException

  This method applies a set of discounts to the collection of Line items provided in the PricingRequest. computeTotal() is intended for pricing Lines for checkout as it requires the CustomerPk to be set in the PricingRequest. The CustomerPk is necessary to track the number of times a particular customer has used a specific discount. If the CustomerPk is not set this method will throw a PricingException. This method requires that the base shipping be set in the PricingRequest, failure to set the base shipping will cause a RuntimeException to be thrown. The quote field in PricingReply will be populated by this method. The Line items from the PricingRequest are added to the PricingReply prior to this method returning. The Line items are returned in the same order as they were submitted. Each Line item that has been adjusted during the pricing operation will have one(1) to many DiscountPresentations attached to it on completion.

  Parameters:
    `request` - request parameters for the pricing operation.
  Returns:
    a populated PricingReply object.
  Throws:
    `com.bea.commerce.ebusiness.price.PricingException` - if the CustomerPk in the PricingRequest is null.
    `RuntimeException` - if the base shipping of the PricingRequest is null or the Line items are invalid.
    `PricingException`
    `RemoteException`
  See Also:
    `PricingRequest`, `PricingRequestImpl`, `PricingReply`, `Quote`, `Line`, `DiscountPresentation`, `CustomerPk`

Overview | Package | Class | Tree | Deprecated | Index | Help
| © 2004 BEA Systems, Inc.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2004 BEA Systems, Inc. All Rights Reserved