For versioned products, reference dates determine which product version to use and affect the product structures. The reference dates and their use vary by object and business process. The availability of products is not based solely on the Versioning Start and End dates.
Objects use the following fields for reference dates.
-
Opportunity—Created Date
-
Quote—Created Date
-
Order—If available, use Order Requested Date. If not, use Order Start Date.
-
All line items (Opportunity line item, Quote Line item, Order item) use a reference date on the corresponding XLI’s Reference Time field.
Run the Product Hierarchy Maintenance job to resolve all possible date ranges for each product. If versioning start and end dates have gaps across versions of the same product, those products might be not visible in the cart if the reference date is within the gap. For that reason, create versioning dates without gaps.
The following tables provide the details about the fields used as reference dates for the different objects and business processes.
If you need to use different reference dates, you can create a custom implementation. See DefaultResolveRefDateImplementation:getReferenceDate Method.
Opportunities
Opportunities use the following reference dates to determine which product version to use.
|
Business Process |
Reference Date |
Use |
|---|---|---|
|
New Opportunity |
Opportunity.Created Date |
To add new root products to the cart. |
|
New Opportunity |
Opportunity.Closed Date |
Optional Field. Not a preferred choice. |
|
New Opportunity |
OpportunityLineItem.Reference Date |
For root products that are already in the cart. |
Orders
Orders use the following reference dates to determine which product version to use.
|
Business Process |
Reference Date |
Use |
|---|---|---|
|
New Order |
If |
Use for searching products and determining the correct version. |
|
Quote to Order(flow: New Oppy>Quote>Order) |
|
Existing line items are displayed based on the rootLineItem reference date. All new root products added to the order use |
|
Change to Order(flow: Change to Quote>Order) |
|
Existing line items are displayed based on the rootLineItem reference date. All new root products added to the order use |
|
Frame Contract New Order |
If |
All new root products added to an order use this as the reference date. |
|
Frame Contract Change Order |
|
Existing line items are displayed based on the rootLineItem reference date. |
|
Amendment Order (No Contract, No reference Quote) |
|
Use the Root-level products that are added use the Amendment |
|
Follow-On Order (No Contract, No reference Quote) |
|
This is identical to an Amendment Order (No Contract, No reference Quote). |
Quotes
Quotes use the following reference dates to determine which product version to use.
|
Business Process |
Reference Date |
Use |
|---|---|---|
|
Opportunity to Quote |
|
When an Opportunity is converted to a Quote, the line item reference date is inherited from the OpportunityLineItem reference date. |
|
Opportunity to Quote |
|
For a quote created from Oppy, you can add new root products directly to the quote. In this case, use |
|
Change to Quote |
|
Assets should be displayed based on the assetized reference date. New optional child products can be added based on the assetized reference date. |
|
Change to Quote |
|
All root products added to Quote should use Quote.CreatedDate as the reference date. |
|
Frame Contract Change to Quote |
|
Assets should be displayed based on the assetized reference date. Optional child products can be added based on the assetized reference date. |
|
Frame Contract Change to Quote |
|
All new root products added to Quote should use |