Incorrect values are displayed in a list view of price records when the filter changes


Description

In a list of price records, depending on your sort filter, the prices for the same record change values.

Or alternately, you see incorrect values in a list view of price records when you change the date range or the number of items in the list filter.

Release or Environment

Any version.

Cause

This will occur on customized dictionary records.  If you create a price (decimal) field in a table such as a customized Contract Line Item, and then extend that customized table in a child table that holds, e.g., a vendor-specific Contract Line Item value, then the system will display one of two records, depending on the filter or sort conditions.

In other words, you can access the same field in the database from different forms - one form for the parent table, and one form for the child table, and the system saves a different value for the price (in two different fx_price records) for the same sys_id, for different table names.

Or an extra price record may be saved because over time as your code evolves, your calculation method updates the price field in a way that is different from the previous calculation. The system does not recognize that the row already exists so it adds another row with a different value.

Or you transfer an update set and the system adds an old, incorrect price value for the customized price field. 

Then you have duplicate records, and when you change the sort filter by table or by date, you see a different value, one of which is incorrect.

Resolution

You can correct the price values with these steps:

1) Find the 32-character sys_id value for the field that has the incorrect list value.

2) Navigate to the fx_price table, and ensure that the displayed columns are Updated (date), ID, Amount, Currency, Reference Amount, Reference Currency, Table, and Field.

3) For every pair where one value is correct and the other is incorrect, change the incorrect value to the correct value

The the correct price value will be displayed regardless of the filter or sort order.