To implement this hotfix, you must have a developer license.
You do not have to have rights to the data stores unless you have to perform data repair.
function in the "_Cost Acc. Schedule Overview" form (5000070) as follows:
...
RecRef.GETTABLE(MATRIX_MatrixRecord);
RecRef.SETTABLE(MATRIX_MatrixRecord);
MatrixMgt.GenerateMatrixData(RecRef,SetWanted,ARRAYLEN(MATRIX_CaptionSet),MATRIX_CaptionFieldNo,MATRIX_PrimKeyFirstCaptionInCu,
MATRIX_CaptionSet,MATRIX_CaptionRange,MATRIX_CurrSetLength);
REPEAT
MATRIX_MatrixRecords[CurrentMatrixRecordOrdinal].COPY(MATRIX_MatrixRecord);
MATRIX_CaptionSet[CurrentMatrixRecordOrdinal] := MATRIX_MatrixRecord."Column Header";
CurrentMatrixRecordOrdinal := CurrentMatrixRecordOrdinal + 1;
UNTIL (CurrentMatrixRecordOrdinal = ARRAYLEN(MATRIX_MatrixRecords)) OR (MATRIX_MatrixRecord.NEXT <> 1);
...
...
RecRef.GETTABLE(MATRIX_MatrixRecord);
RecRef.SETTABLE(MATRIX_MatrixRecord);
MatrixMgt.GenerateMatrixData(RecRef,SetWanted,ARRAYLEN(MATRIX_CaptionSet),MATRIX_CaptionFieldNo,MATRIX_PrimKeyFirstCaptionInCu,
MATRIX_CaptionSet,MATRIX_CaptionRange,MATRIX_CurrSetLength);
// Add the following lines.
MATRIX_MatrixRecord.SETPOSITION(MATRIX_PrimKeyFirstCaptionInCu);
MATRIX_MatrixRecord.FIND;
//End of the lines.
REPEAT
MATRIX_MatrixRecords[CurrentMatrixRecordOrdinal].COPY(MATRIX_MatrixRecord);
MATRIX_CaptionSet[CurrentMatrixRecordOrdinal] := MATRIX_MatrixRecord."Column Header";
CurrentMatrixRecordOrdinal := CurrentMatrixRecordOrdinal + 1;
UNTIL (CurrentMatrixRecordOrdinal = ARRAYLEN(MATRIX_MatrixRecords)) OR (MATRIX_MatrixRecord.NEXT <> 1);
...
This resolution only resolves the issue in the "_Cost Acc. Schedule Overview" form (5000070). To transfer the solution to the corresponding page, you have to use the Transformation Tool according to the Transforming Forms chapter in the Help for Microsoft Dynamics NAV 2009.