If a Matrix is created with some columns and rows are created, then subsequently, the columns are reconfigured, with a specific sequence of steps the existing matrix rows are not removed and if the existing rows remain, they may cause the application to select an incorrect matrix row. Also, sometimes you might see the columns 'jump' positions when you are trying to add a new column to the matrix column configuration. The steps below are one way to simulate the corrupted column order sequence; there may be other steps to produce the same symptoms.
Note: This is reproduced on versions 12.x up thru 13.2, however, if you upgrade to a later release, you may still experience this issue if it existed before the upgrade and you did not discover it. This is because, although the issue is resolved in 13.3, the data in the table for the column order is not 'fixed' with the upgrade. See the Solution section for details on how to 'fix' the existing column order data.
Use the following query to see if the 'columnno' sequence is correct:
Steps to Reproduce:
Expected Result: Matrix configuration should be updated correctly.
Actual Result: Matrix rows have residual data from previous configuration.
Release: 13.2
Component: Clarity Financial Management
CLRT-64605: Resolved in Clarity 13.3
The resolution fixes the problem when the administrator is changing the Matrix Column configuration as described in the summary. Resolution for this issue does not fix corrupted data. Use the specific steps documented in the workaround to resolve posted transactions with incorrect rates.
Removing the old rows does not resolve the issue. The issue is in the table that holds the matrix column definition. The column order sequence is corrupted.
If you query the PPA_MATRIX, PPA_MATRIXCOLDEF and PPA_MATRIXVALUES tables you will see the column is removed, but in the values table, the reference to that column is there causing the Rate Matrix evaluation action to find an incorrect rate.
The COLUMNNO column needs to be correctly populated in PPA_MATRIXCOLDEF table. This table represents the assigned columns for a Matrix.
There should not be any gap in COLUMNNO values for any given matrix as it represents the sequence of selected assigned columns.
When the same submit operation has both add and remove actions as mentioned in the steps to reproduce, it leaves gaps in COLUMNNO values in PPA_MATRIXCOLDEF table thereby corrupting the Matrix.
For example, in a configuration that had 3 columns where one is removed and one is added in the same step, before saving, you may see the numbered columns, like 1,2,4 in the column definition table; it jumps over one column. This will cause the application to pick the wrong rate with a seemingly random value because the columns are not sequentially numbered (missing a column identification).
There are 2 methods to fix the corrupted data. (You can do this in an upgraded version as well and it will work to resolve the issue)
The Rate Matrix XML Open Gateway (XOG) WRITE Action will REPLACE THE ENTIRE ROWS -- Therefore you must ensure ALL rows are in the XOG file; if any of the rows are missing, they will be removed.
Using the following steps will allow the XOG READ to get all rows in the matrix and just update it.