Example Pricing Algorithm, Part 2, Get Pricing Strategy
Determine which pricing strategy to use for your customer for the sales order.
Note
-
The output SDO from the Get Reference Attributes step provides the input SDO.
-
The algorithm uses some values in the strategy to apply values in the output SDO to the header and the line. For example, it uses the value for the AllowCurrencyOverrideFlag attribute.
-
If the algorithm fails for some reason, say, there's a faulty set up in Pricing Administration, then it marks the header as in error.
Here's what the Get Sales Pricing Strategy algorithm does.
What the Algorithm Does |
How the Algorithm Does It |
---|---|
1. Get the customer pricing profile so it can identify the header Id. |
Examine the profile in Pricing Administration. |
2. Determine the pricing segment to use. |
Use HeaderId to evaluate the pricing segment matrix, then assign the PricingSegmentCode attribute on the header in the output SDO. In this example, it assigns corporate_segment. It also uses conditions in the segment to create the Pricing Segment Explanation, such as Size=Medium. |
3. Identify the strategy assignment. |
Examine the strategy assignment matrix according to the pricing context and the type of transaction. In this example, the context is Sales and the transaction is a sales order. |
4. Get header values for the pricing strategy. |
Evaluate the strategy assignment matrix to identify the strategy, then set PricingStrategyId on the header of the output SDO. |
5. Set the pricing strategy on the lines. |
Set PricingStrategyId on each of the lines in the output SDO. |
The algorithm uses your set ups in the Pricing Administration work area. For example:
Here are details about the attributes in the SDOs. Bold font indicates attributes that the algorithm added to the output SDO during its analysis of your set ups in Pricing Administration. Font that isn't bold indicates values that the algorithm gets directly from the input SDO.
Entity |
Attributes in Input SDO |
Attributes in Output SDO |
---|---|---|
Header |
- |
AllowCurrencyOverrideFlag: Y PricingDate: 2019-03-26 @ 08:32:53 PricingSegmentCode: CORPORATE_SEGMENT PricingSegmentExplanation: The applicable pricing segment for this transaction is Pricing Segment=Corporate Segment Precedence=1 because Revenue Potential=Medium Customer Size=Medium Cost To Serve=Medium Customer Value=Medium Customer Rating=Medium PricingStrategyId: 300100071623888 |
Line |
HeaderId: 1 InventoryItemId: 149 InventoryOrganizationId: 204 ItemType: Standard LineCategoryCode: Order LineId: 1 LineQuantity2: Ea LineQuantityUOMCode: Ea LineTypeCode: ORA_BUY PriceAsOf: 2019-03-26 @ 08:32:53 PricedOn: 2019-03-26 @ 08:32:53 PricingDate: 2019-03-26 @ 08:32:53 ShipToLocation Id: 929 UnreferencedReturnLineFlag: N |
AllowCurrencyOverrideFlag: Y AppliedCurrencyCode: USD DefaultCurrencyCode: USD HeaderId: 1 InventoryItemId: 149 InventoryOrganizationId: 204 ItemType: Standard LineCategoryCode: Order LineId: 1 LineQuantity2: Ea LineQuantityUOMCode: Ea LineTypeCode: ORA_BUY PriceAsOf: 2019-03-26 @ 08:32:53 PricedOn: 2019-03-26 @ 08:32:53 PricingDate: 2019-03-26 @ 08:32:53 PricingStrategyId: 300100071623888 ShipToLocationId: 929 UnreferencedReturnLineFlag: N |
Customer Pricing Profile |
- |
CosttoServeCode: ORA_MEDIUM CustomerId: 1006 CustomerPricingProfileId: 3001000177658578 CustomerRatingCode: ORA_MEDIUM CustomerSizeCode: ORA_MEDIUM CustomerValueCode: ORA_MEDIUM PriceAsOf: 2018-11-10 @ 08:32:53 RevenuePotentialCode: ORA_MEDIUM |
Note
-
The value 300100071623888 in PricingStrategyId identifies the Corporate Pricing Strategy.
-
The value 3001000177658578 in CustomerPricingProfileId identifies pricing profile Computer Service and Rentals.
Here are some of the functions you can use with Get Sales Pricing Strategy.
Function Name |
Description |
---|---|
GetCustomerPricingProfile |
Get values for the customer pricing profile. A typical modification you can do is to get a specific price list for each of your customers. You can use GetCustomerPricingProfile and a descriptive flexfield to implement this kind of modification on the line. |
GetPricingSegmentMatrix |
Get the type of pricing segment matrix. |
getStrategy |
Get the pricing strategy. |
getStrategyAssignmentMatrix |
Get the pricing strategy assignments. A typical modification is to set up a precedence on the assignment matrix, and then run matrix rules according to precedence. |