Reference field on Record Producer not displaying display value

MB777
Tera Contributor

We have created a Record producer for maintenance work for a client.  We have created a custom table to store the data from the form.  On the record producer, we have a reference field that references a custom location table.  This custom table is not extended from any other tables.  We are currently in the dev environment.  There are three roles created for the table (viewer, editor, admin).  The u_location_address field on the table is set to the display value.  There are 2 Business Rules created for the table.  Neither have any intended effect on the u_location_address field. 

 

 

Problem:

When accessing the form as an admin, the location field on the form performs as it should.  It allows access to the table.  However, when accessed by another user who has any of the table specific roles (viewer, editor, admin) the field returns a "no matches found" result. 

However, when I remove the display value from the table (eg no display value set for the table) it returns results from the "created" field for all users that have access to the table. 

 

I have attempted to remediate the issue by setting a different display value, re-created roles, checked ACLs etc but the form still performs incorrectly. 

1 ACCEPTED SOLUTION

MB777
Tera Contributor

Thanks for the replies all.  I worked with ServiceNow and they confirmed that it was not an issue with my read ACL.  The problem was with query_range ACL.  I was instructed to create a query_range ACL for the display field (u_location_address), which worked perfectly.  

 

Thanks all for your support

 

 

 

View solution in original post

5 REPLIES 5

GlideFather
Tera Patron

Hi @MB777 verify the reference table is correct or the field with display value.

 

This happened to me when I had a variable reference on sys_user_has_role but the reference qualifier was having sys id for sys_user

 

Check the relevancy of your filter condition whether it is correct and aligned with the referencing table.

 

Quick debug tip - apply the conditions from your reference to the reference table in backend to quickly see what it returns.

 

eventually check the access to the location table.

 

if this doesn’t help, please share screenshot with the configurations

———
/* If my response wasn’t a total disaster ↙️ drop a Kudos or Accept as Solution ↘️ Cheers! */


And also, why do you have a custom table for locations?? If you want to separate, you can extend the existing Location one.

 

custom tables are subject of extra subscriptions at some volume (each client has their own deals and from that conditions of usage) but it seems to me like a custom table wasted for nothing…

———
/* If my response wasn’t a total disaster ↙️ drop a Kudos or Accept as Solution ↘️ Cheers! */


Community Alums
Not applicable

hi @MB777 ,

 

  • Verify table ACLs:

    • Go to System Security > Access Controls.

    • Filter by Table = your custom location table.

    • Confirm there is a table-level Read ACL that includes your custom roles (viewer, editor, admin).

    • Confirm there’s no conflicting ACL that denies access to these roles.

  • Check field-level ACL on u_location_address:

    • There is usually an implicit ACL created for the display value field.

    • Make sure there is a Read ACL on this field that includes your custom roles.

    • If missing, create one:
      Table = your custom table
      Field = u_location_address
      Operation = Read
      Requires role: your custom viewer/editor/admin role.

 

Ankur Bawiskar
Tera Patron
Tera Patron

@MB777 

it's definitely an access issue.

Please ensure the non-admin has correct read access to the table.

If my response helped please mark it correct and close the thread so that it benefits future readers.

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader