Skip to content

A custom 'Checked By' field is meant to capture and permanently store which user ticked a checkbox and when — but instead, every time anyone later opens the record, the field re-displays the CURRENT viewer's user ID and today's date instead of the original value from when the box was actually checked. The field is set to Read Only and can't be made Insertable — why does it behave this way, and how should it actually be built?

Answer

The field needs to be a Persistent custom field, not a Read Only one — a Read Only field type re-evaluates and displays its expression live every time the record is viewed (which is exactly the symptom described), while a Persistent field type actually stores a real value in the database at the time it's set, keeping that stored value afterward regardless of who's viewing it later. Build it as: a Persistent custom field, with its Default Value set to the PL/SQL Expression IFSAPP.FND_SESSION_API.GET_FND_USER() (auto-populating the current session's user only when a new record is created and saved), and then — separately — apply Read Only at the page/Properties level (RMB > Properties > Read Only) to stop users from editing that captured value before saving. The two 'Read Only' concepts are different: the custom field's own Field Type controls whether a value is stored at all, while the page-level Read Only property just prevents editing of an already-stored value.

← Browse Platform, Aurena, and customization questions