How to fix it
- Navigate to System Definition > Client Scripts and search for scripts affecting your table.
- Look for
g_form.setValue()calls on your reference field that only have two parameters. - Change
g_form.setValue('field_name', sysId)tog_form.setValue('field_name', sysId, displayValue). - If you don't have the display value, use a GlideAjax call to retrieve it before setting the field.
- Navigate to System Definition > Dictionary and search for your reference field.
- Open the Dictionary Entry and check the Display field to see which field from the referenced table is used for display.
- Navigate to the referenced table and open a few records that are showing sys_ids.
- Check if the display field (from step 6) has values populated on these records.
- If the display field is empty, populate it with appropriate values or change the Dictionary Display field to point to a field that has data.
- Navigate to System Definition > Business Rules and search for rules on your table.
- Look for Business Rules that set your reference field using
current.field_name = valueorgr.setValue(). - If found, modify the Business Rule to also set the display value using
current.field_name.setDisplayValue(displayValue).
After making changes, refresh the form or list view. If the sys_id still appears, clear your browser cache and check if the referenced record's display field actually contains data.