Sys User Class Changes

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎06-17-2024 09:30 AM
I'm looking for information around modifying the class field on the sys_user table to include an additional class. We have seasonal workers that I'd like to "classify" as seasonal. Also some service accounts/utility accounts that I'd like to classify differently as well. Would adding a class or many classes harm anything? I know this could be done a number of other ways, but I'm asking about the class field specifically.
Thanks in advance!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎06-17-2024 10:39 AM
Hi,
From an impact perspective, if you are / you will be utilizing CSM in the future, you may wanna avoid customizing this field. Found this article and it seems that the class field is utilized as a way to extend the sys_user class:
The choices 'Consumer User' and 'User' are not visible when the 'Class' field value is set to 'Contact' on the 'sys_user' table.
https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0823759
So based from that article, this was mentioned as well:
"Table per class
The Table per class extension model stores each table of the hierarchy in its own physical table on the relational database. Each physical table uses the table prefix of the source table each stores a different class of records. An example of the Table per class extension model is the Asset [alm_asset] table, and its child tables: Hardware [alm_hardware], Consumable [alm_consumable], Facility [alm_facility], and Software License [alm_license]. The parent table of the hierarchy, Asset, stores a copy of every record in its descendant tables."
I've remembered implementing something like this for a client before, but we have resorted to the 'other ways' such as introducing a custom new field. Just providing my insights. Should you wanna pursue investigating this further, I highly suggest to thoroughly test it on a PDI (Personal Developer Instance) first so you can properly assess the impact.
Hope this helps!
Kind regards,
Jay-R Oprin
If this resolved your issue, please consider marking the response as correct and giving it a thumbs up! This way, other community members looking for a similar resolution in the future will be able to find it too. Thanks!

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎06-17-2024 01:17 PM
So the class name would store the tables name. If you extend the user table, it would store the class name of child tables.
I wouldn't recommend extending the user table though. Instead I would create another field such as Employment Type to store wether the workers are Employee, Contractors, Seasonal etc. That way, I am not making any structural changes to the user table, which is one of the primary tables in servicenow.
Please mark this response as correct or helpful if it assisted you with your question.