Service Portal - Display value for reference field does not show correctly when there is another reference field with different display value on the form referencing parent table

Steps to Reproduce

1. Hop to Madrid instance and make sure that Service management core plugin is active.
2. Go to sys_db_object table and for 'Service Order' table (sm_order) set Extensible to true.
3. Create a new table (smextent - any name can be used)that extends Service order.
(Smextent extends Service Order which again extends Task table)

4. Create new field on this new table with details below:

Name : SPDisplayCheck
Type : String
Max Length : 40
Display : Checked

5. Create a new record in the table that is created in Step 3. Make sure that a value is entered for SPDisplayCheck field.
6. Confirm that the form header shows the display value as the value of SPDisplayCheck field.
7. Go to any sysapproval_approver record and create a new reference field on this table with below details :
Name : ExtendReference
Type : Reference
Reference table : Smextent ( table created in step 3)
and add field to the approval form.
8. Go back to the approval record and in 'Approving' field, change the reference to :

Table Name : Smextent
Document : Record created in Step 5.
9. Change the value of ExtendReference for approval record to Record created in Step 5 and save the record. (Referencing both Approving and ExtendReference to same record)
10. Turn off the UI policy named 'Check for presence of new document_id field. If it is not on form, display the legacy sysapproval form.'
11. Now Approval For field that references 'Task' table shows on the form. Change the value of the field to reference the same one from Step 9(The record from Smextent table).

10. Notice that Approval For shows display as Number as the display field for task is number and ExtendReference shows the display value as value of SPDisplayCheck field.
11. Open the approval record in Service Portal :
https://<instance_name>.service-now.com/sp?id=form&table=sysapproval_approver&sys_id=<sys_id of approval record>

12. Notice that both Approval For and ExtendReference shows number instead of SPDisplayCheck value for ExtendReference .

Expected Behavior : The value of ExtendReference in Service Portal should show the display value we set.
Actual Behavior : The value of ExtendReference in Service Portal should show the display value set for Smextent table.


This issue is under review. To receive notifications when more information is available, subscribe to this Known Error article by clicking the Subscribe button at the top right of the article. If you are able to upgrade, review the Fixed In or Intended Fix Version fields to determine whether any versions have a planned or permanent fix.


Related Problem: PRB1334673

Seen In

Madrid Patch 1 Hot Fix 2

Associated Community Threads

There is no data to report.

Article Information

Last Updated:2020-11-16 01:56:20