What does the "u_" prefix stands for?

bielc_araujo
Tera Contributor

I'm a newbie on ServiceNow and just got curious on what exactly the "u" prefix on custom fields stand for, anyone know?

4 ACCEPTED SOLUTIONS

Dr Atul G- LNG
Tera Patron
Tera Patron

Hi @bielc_araujo 

 

u_ -> Custom Table in Global Scope

The "u_" prefix indicates a custom table and cannot be edited or deleted. The User role is the role required to access the new table.

 

X_ --> Custom table in scoped application

 

https://www.servicenow.com/community/spm-blog/4-tips-for-creating-custom-tables-in-servicenow/ba-p/2....

*************************************************************************************************************
If my response proves useful, please indicate its helpfulness by selecting " Accept as Solution" and " Helpful." This action benefits both the community and me.

Regards
Dr. Atul G. - Learn N Grow Together
ServiceNow Techno - Functional Trainer
LinkedIn: https://www.linkedin.com/in/dratulgrover
YouTube: https://www.youtube.com/@LearnNGrowTogetherwithAtulG
Topmate: https://topmate.io/atul_grover_lng [ Connect for 1-1 Session]

****************************************************************************************************************

View solution in original post

AnubhavRitolia
Mega Sage
Mega Sage

Hi @bielc_araujo 

 

'u_' for field stands for custom field which was created by developer and not exist by default in ServiceNow.

Please mark this as correct answer and helpful if it resolved, or mark this helpful if this help you to reach towards solution.

Thanks
Anubhav Ritolia
ServiceNow Rising Star 2023

View solution in original post

Brad Tilton
ServiceNow Employee
ServiceNow Employee

As others have said, the u_ indicates a global table created by a customer. The reason that exists is to prevent table naming collisions. We (ServiceNow) know the names of all of the default tables, but a customer could create a new custom table, let's say shipping_location, and then we could have a use case where we needed to create a table with that name and that would create a collision on upgrade. Instead, we just know to never create a table starting with u_.

The reason this only exists for global is because every scoped table name includes the company code (x_acme, for example) so those are unique by default.

Hope that helps, and keep asking great questions!

View solution in original post

To clarify this answer a bit. A table with a u_ can be edited or deleted. There is no special security that the custom table has by default. The u_ just prevents collisions which means that your table won't be affected during an upgrade by SN introducing a table with the same name.

View solution in original post

8 REPLIES 8

Dr Atul G- LNG
Tera Patron
Tera Patron

Hi @bielc_araujo 

 

u_ -> Custom Table in Global Scope

The "u_" prefix indicates a custom table and cannot be edited or deleted. The User role is the role required to access the new table.

 

X_ --> Custom table in scoped application

 

https://www.servicenow.com/community/spm-blog/4-tips-for-creating-custom-tables-in-servicenow/ba-p/2....

*************************************************************************************************************
If my response proves useful, please indicate its helpfulness by selecting " Accept as Solution" and " Helpful." This action benefits both the community and me.

Regards
Dr. Atul G. - Learn N Grow Together
ServiceNow Techno - Functional Trainer
LinkedIn: https://www.linkedin.com/in/dratulgrover
YouTube: https://www.youtube.com/@LearnNGrowTogetherwithAtulG
Topmate: https://topmate.io/atul_grover_lng [ Connect for 1-1 Session]

****************************************************************************************************************

To clarify this answer a bit. A table with a u_ can be edited or deleted. There is no special security that the custom table has by default. The u_ just prevents collisions which means that your table won't be affected during an upgrade by SN introducing a table with the same name.

RB5
Tera Contributor
@bielc_araujo  - "u" prefix is used for the custom fields that has been created by user. It is used to distinguish between predefined system fields and custom fields created by users. It also helps to prevent naming conflicts with existing system fields.
 
ServiceNow also provides predefined prefix to indicates their purpose. For example "sys_” prefix fields are predefined system fields.  fields with cmdb_” prefix are related to configuration management etc.
 
-- Please mark this as correct answer and helpful.

When creating a new table named "abc" in ServiceNow, does the system automatically assigns the table name as u_abc or do you have to manually set it as "u_"  I cannot find an answer to this question.