Field Level Auditing is displaying empty (--) records in Old Value and New Value has records

Hi Team,

I have a query regarding Field Level Auditing. We have already enabled Field Level Auditing and it is working fine for other updates.

However, I have written an activity to fetch the Case ID and then do Obj-Open and Map one of the property for testing purpose.

After mapping the property value (let’s say “test123”), I am doing Obj-save and Call CommitwithErrorHandling in order to commit the new value into a property for specific case.

When I refresh the specific case, go to History >> Field History >> The New Value shows New Value for all the properties specified in the pyFieldLevelAuditing Data Transform along with updated value for one of the property in the same New Value Column.

However, the Old Value remains – for every field. I have tested the same for multiple work objects and the properties have values set on the pyWorkPage.

Requirement:

  1. The Old Value of properties should not be displayed --.

  2. New value should audit only the properties, which have values changed after running the activity.

I can’t provide screenshots of Activity.

Activity Steps:

Step-1: For each embedded Page in DataPage.pxResults

Child Step 1.1: Do Property-Set and Map Case Id from pxResults.

Step 1.2 : Do Obj-Open and acquire Lock, releaseonCommit are enabled. Pass the CaseID in Properties Name and Value (refer the CaseID Property Value from Property-Set)

Step 1.3 : Do Property-Set and then map some value of any property for a work object.

Step-1.4: Obj-Save

Step-1.5 : Call CommitWithErrorhandling

@AbhishekG4614

I’ve done some research and I believe you’ve hit upon a known problem in certain scenarios, which the Engineering team investigated recently.

The scenario is around Moved type where pxResults(1) and pxResults(2) get swapped and engine reports this as moved. For such entries, FLA logic must try to do it as Modified by identifying old pyparentinskey - rather it is inserting empty keys and hence the problem.

Snippet in the function : pzAddFLAuditObjects which is responsible to build the savable objects [FLA entries] by using compare utility provided by engine. There is an empty key being inserted to the map which is in turn used for inserting parentinskey column [to drill down]. Hence for the column being audited the pyparentinskey is set as empty.

Due to this, the retrieval logic shows empty row against this column but couldn’t further drill down.

This issue is reproducible in-house and as suspected the issue is in FLA Save logic for Moved instances within a page list and it is managing to insert blank keys which is causing the problem.

It was determined that it is not possible to provide any local change for this. The commitment has now been made to address this in the product.

This issue has been logged as BUG-665698 and was due to be fixed in a 8.7 release due to the complex nature of various use cases and the regression testing involved.

The 8.7 GA release is available, but better would be to wait until end of March 2022 when 8.7.1 will be made available, together with the Resolved Issues Download option..

Also note the current limitations listed here

. I hope this helps.

@MarijeSchillern Thanks for the quick update.