Troubleshoot Pricing Matrixes

Troubleshoot problems with a pricing matrix.

Trouble

Shoot

Pricing doesn't apply the matrix rule.

Make sure the value that the Domain references identifies the same data that the Compare to Attribute condition column references.

For example, If Compare to Attribute equals Header.CustomerId, then get the domain value from CustomerId. Don't get it for Customer Name.

Make sure you use the correct data type.

For example, if the service mapping uses the Data data type, then make sure the data that your Compare to Attribute references also uses the Data data type.

I add a Customer Name condition to a matrix class and assign it to a pricing segment so I can use a different price for each customer.

At runtime, pricing seems to work as I expect for customers that I have created on the Manage Customers page in the Setup and Maintenance work area, but not for customers that I create through import.

Its possible the customers that you create through import aren't getting populated correctly in the Oracle database.

Run the Maintain Party and Location Current Record Information scheduled process. This process updates people, organizations, and locations that are currently in the Oracle database.

I encounter an error when I edit a rule for a discount list. It is similar to.

An application error occurred. See the incident log for more information. View row with key oracle.jbo.Key[null ] is not found in __DimensionVO__For__Reference__For_DCL__.

Note

  • This problem might happen because Pricing can't find a condition or dimension in a pricing matrix or matrix class.

  • Don't delete a condition column in a pricing matrix or matrix class after you finish setting up your matrix rule.

  • If your pricing matrix references a dimension in the matrix class, then don't delete that dimension.

  • If you add your own dimension, then don't delete it, or if you must delete it, then make sure you modify your pricing matrix so it doesn't reference that dimension.

  • Follow these recommendations for all pricing entities.

Assume you create a matrix class for a price list adjustment. You add dimensions Color, Size, and Style to the class.

Assume you create a price list for three items, and you set Adjustment Type to Discount Amount for each price list.

  • Price list for item A.

    Color

    Size

    Adjustment Amount

    Red

    M

    10

    Red

    L

    15

  • Price list for item B.

    Color

    Style

    Adjustment Amount

    Red

    001

    10

    Red

    002

    15

  • Price list for item C.

    Color

    Season

    Adjustment Amount

    Red

    Winter

    10

    Red

    Spring

    15

The Season condition dimension for the item in price list C isn't part of the matrix class but is part to the pricing matrix. So, if you have a rule that references the Season condition, then don't delete the Season condition.

Identify Matrix Type That Contains the Error

Identify the matrix type that might contain the error. Pricing displays a slightly different message according to the matrix type that its processing when the error happens.

Message

Predefined Matrix Type

Pricing didn't apply attribute pricing to the transaction.

Price List Charge Adjustment

An error occurred while determining the pricing segment for the transaction.

Pricing Segment

An error occurred while determining the pricing strategy for the transaction.

Sales Pricing Strategy Assignment

Line Strategy

Pricing didn't apply attribute pricing to the charge.

Price List Charge Adjustment

Pricing didn't apply attribute pricing to the adjustment.

Discount Adjustment

An error occurred while determining a guideline rule for charge {CHARGE_NAME} in guideline {GUIDELINE_NAME}.

Pricing Charge Guideline

After you identify the matrix class, make sure the Compare to Attribute condition column in the class references the correct data type.

Other Fixes

Examine the Latest Version of the Pricing Algorithm

For example, if the problem happens with the Price List Charge Adjustment matrix type, then examine the Apply Matrices pricing algorithm, and make sure the Evaluate Pricing Matrices step contains all the required data sets.

For another example, if you add extensible flexfield x on the order header, and if you add a Source Order dimension, then make sure the dimension references extensible flexfield x, and make sure you add flexfield x to the data set.

Examine Modifications in the Pricing Algorithm

  • Make sure your modifications don't contain typographical errors, such as an incorrect spelling.

  • Make sure you correctly set the Data Set Join.

  • Make sure the Path uses PriceRequest.EntityName, where EntityName matches exactly the value that the service mapping uses.

  • Make sure the Alias uses the same value as the EntityName.