The Product Pipeline runs OPP components that compute price and discount information on individual products. This pipeline is often used to compute information that is displayed on the Product.asp page.
The template for this pipeline is Product.pct. An example of a pipeline based on this template is the Product.pcf file that is created in the /Config directory of a custom site created by the Site Builder Wizard.
The Product pipeline consists of the following stages.
The Product Info stage contains components that retrieve product information about the items in the items
list from the site database. If information about a given item cannot be retrieved, Product Info stage components mark the item for deletion by creating a delete
name/value pair in the item Dictionary, and initializing the name/value pair to one (1).
After the Product Information components have been executed, the required component in the Product Information stage iterates through the items
list, deleting every item that has been marked for deletion.
The components related to this stage are shown in the following table.
Component | Description |
---|---|
QueryProdInfo | Executes a database query, based on the SKUs in the OrderForm's items list, and puts the returned data in the OrderForm's items collection. If no data is found for the SKU, the item is marked for deletion, and a pur_badsku errir is added to the _Basket_Errors list. |
QueryProdInfoADO | Executes a database query, using the Microsoft® ActiveX® Data Objects (ADO). This component differs from QueryProdInfo in that the query that it executes can take multiple parameters, and can reference a query in the QueryMap Dictionary. |
RequiredProdInfo (embedded in stage) |
If any items are marked for deletion, deletes them and writes appropriate error messages. |
The Shopper Information stage adds information about the customer to the OrderForm.
The components related to this stage are shown in the following table.
Component | Description |
---|---|
DefaultShopperInfoz (included in template) |
Initializes entries in the order form to contain the values read from the shopper dictionary. |
The Item Price stage contains components that set the _iadjust
_regularprice
for each item in the items list and that verify that this value has been set. If this value cannot be set, an error is raised.
The purpose of this initialization is to ensure that the _iadjust
_regularprice
name/value pair contains the most current price information for the given SKU.
The components related to this stage are shown in the following table.
Component | Description |
---|---|
DefaultItemPrice (included in template) |
For each item in the items list, initializes that item's _iadjust _regularprice name/value pair to the value stored in _product _list _price . |
RequiredItemPrice (embedded in stage) |
Ensures that _iadjust _regularprice is set for each item in the items list. |
The Item Adjust Price stage contains components that initialize the _iadjust
_currentprice
name/value pair. When this stage is complete, _iadjust
_currentprice
contains the current price of the item, adjusted for sales or promotions.
If no sale or promotion component is included in this stage, the name/value pair is set to the value stored in _iadjust
_regularprice
.
Once the item
._iadjust
_currentprice
name/value pair has be set for an item, that item cannot be adjusted a second time. For example, if a stage includes multiple both an ItemPromo and a SaleAdjust component, and an item on the order qualifies for both the promotion and the sale adjustment, the item's _iadjust
_currentprice
will be initialized by the component that is executed first within the stage. This generalization applies for any combination of Item Price Adjust components that you include in your pipeline.
The components related to this stage are shown in the following table.
Component | Description |
---|---|
ItemPromo | Adjusts the _iadjust _currentprice name/value pair, based on promotional parameters. |
SaleAdjust | Determines whether an item is on sale. If it is, SaleAdjust sets the item's _iadjust _currentprice name/value pair to the value stored in the _product _sale _price name/value pair. |
RequiredItemAdjustPrice (embedded in stage) |
Verifies that the _iadjust _currentprice name/value pair is set. |
This stage verifies that every item ordered is in stock.
The components related to this stage include the following.
Component | Description |
---|---|
FlagInventory | Flags items in the items SimpleList that are out of stock. |
LocalInventory | Checks the OrderForm to ensure that an item does not require more of a given SKU than is in stock. |
ReduceLocalInventory | For backward compatibility. |