How can you use an Extenstion of the sys_choice table?

Will Mathies
Tera Contributor

I am neededing to import data (500+ rows) into a table that will be used as a source for a dropdown. I also need to add a few addition value fields for each choice. Someone suggested extending the sys_choice table.

I have been able to create a new table that extends the sys_choice table. I have also been able import the data into the new table. I have included the table and element name for the form I want the dropdown to appear on. When I look at the dictionary entry for the dropdown field I see the values I have added in the related table showing the choices for the field.

My issue is that as a user on the actual form I can't see the choices in the dropdown. Does anyone know how to point the dropdown to the new table that extends sys_choice?

BTW - I have looked at the Choice Table option in the dictionary, but this only works with tables that have a choice field. Not tables that extend the sys_choice table.

1 ACCEPTED SOLUTION

Allen Andreas
Administrator
Administrator

Hi,

When you create a new table, 4 ACLs are automatically created for that table. A read, write, delete, create, ACL. A custom role is also created and given to those ACLs. Basically meaning that only users with that role can create records, write to records, delete records and read records.

More on ACLs: https://docs.servicenow.com/bundle/newyork-platform-administration/page/administer/contextual-securi...

What you can do is go to your ACLs and remove the "read" ACL (or remove the custom role that is added to that ACL) so that anyone can read the options for that table. Then you can either keep the custom role on the other ACLs or change it to ITIL.

find_real_file.png

Please mark reply as Helpful/Correct, if applicable. Thanks!


Please consider marking my reply as Helpful and/or Accept Solution, if applicable. Thanks!

View solution in original post

3 REPLIES 3

Allen Andreas
Administrator
Administrator

Hi,

When you create a new table, 4 ACLs are automatically created for that table. A read, write, delete, create, ACL. A custom role is also created and given to those ACLs. Basically meaning that only users with that role can create records, write to records, delete records and read records.

More on ACLs: https://docs.servicenow.com/bundle/newyork-platform-administration/page/administer/contextual-securi...

What you can do is go to your ACLs and remove the "read" ACL (or remove the custom role that is added to that ACL) so that anyone can read the options for that table. Then you can either keep the custom role on the other ACLs or change it to ITIL.

find_real_file.png

Please mark reply as Helpful/Correct, if applicable. Thanks!


Please consider marking my reply as Helpful and/or Accept Solution, if applicable. Thanks!

Also for anyone curious about financial implications of extending this or any other table, this doesn't apply to certain tables within SN...and sys_choice is an exempt table:

find_real_file.png

 

Please mark as Helpful if so. Thanks!


Please consider marking my reply as Helpful and/or Accept Solution, if applicable. Thanks!

Hi Allen,

Thanks for the post. It turned out I had a different issue, but it helped to see you confirm that extending the sys_choice table was possible. 

I am not sure why, but in case others have the same issue - I found that I needed to clear my browser data to be able to see the values in the choice list. It did not help for me to refresh the form or page. I had to go to the browser properties and clear all the cookies.