Best Practice Solution on Adding Additional Custom Fields to the Delivered HR Case Table
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-13-2020 09:13 AM
In 2018, we had to redesign our delivered HR Case [hr_case] table, adding additional fields based on Category [category] and Subcategory [u_subcategories] fields, toggled by UI Policies.
As an example, here in DEV I created a ticket for one of our categories and subcategories. These fields I have circled get toggled depending on what you select in the “Category” and “Subcategory” fields.
Since the original upgrade, we have a total of 76 custom fields in the HR Case [hr_case] record in production.
According to the official "Custom Table Guide", the official threshold for “Now Platform® App Engine Enterprise” is 100 fields.
The needs of our HR department continue to grow, and we need more support for more fields. Right now we have two new requests to add 40 additional fields.
So my first question, will the system continue to allow us adding fields after reaching the "threshold."
If so, what would be the impact on our system if we continue to add these fields.
Finally, what other alternatives could we explore to meet our customer's needs?
- Labels:
-
Now Platform App Engine

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-13-2020 11:25 AM
Hi,
As per the below mentioned thread, 4096 is the limit of total fields/columns that could be on a table.
However, Adding more and more number of fields could be a real mess because it will make a bit more difficult to maintain the system. I will suggest is to use existing fields as much as you can.
Example 1: If you want custom fields just to populate the data available on fields of any other table. You could simply use the existing relationship(reference field) to dot walk and get the value or You can just create a single reference field targeting the table and with the dot walk you can have all the fields of reference table. This will simply reduce the requirement of an existing field.
Example 2: If you want any data from HR Profile record to HR Cases. You can simply dot walk and get the HR Profile fields on HR Case records.
In the above two scenarios, it will be easy to have the data available on the form without having any custom fields and scripts to populate those. No tension of maintaining the fields and scripts.
Kindly mark my answer as Correct and Helpful based on the Impact.
Regards,
Chaitanya
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-14-2020 07:09 AM
From the link you provided. That link points to MySQL documentation.
"Per the MySQL docs, there is a hard limit of 4096 columns per table."
This is the answer that was given to me from ServiceNow HI.
"For threshold, when you must have purchased the ServiceNow product you must have got a PDF Custom Table guide similar to the link given below . It will tell you the custom table field limitations."
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-14-2020 07:15 AM
Thank you for your help by the way.
"However, Adding more and more number of fields could be a real mess because it will make a bit more difficult to maintain the system. I will suggest is to use existing fields as much as you can."
I agree.
"Example 1: If you want custom fields just to populate the data available on fields of any other table. You could simply use the existing relationship(reference field) to dot walk and get the value or You can just create a single reference field targeting the table and with the dot walk you can have all the fields of reference table. This will simply reduce the requirement of an existing field."
Can you please further elaborate on this and provide an example? What other table would I use? Are you suggesting creating custom tables just to store the data? Maybe one for benefits. One for compensation, etc.
How would I save the data? The data is coming over from a Service Center form via a record producer. The record producer points to the HR Case table.
"Example 2: If you want any data from HR Profile record to HR Cases. You can simply dot walk and get the HR Profile fields on HR Case records."
What is an HR Profile record?
Again keep in mind. I am submitted the data from a record producer from the Service Center, over to an HR Case.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-14-2020 09:01 AM
So basically let me explain what I meant to say in both the examples is, Like in Catalog Task table, you have a parent field which refers to the RITM table and in RITM table you have a parent field referring to Request table. So, using dot walk you can have the other tables field and the data in field on the Catalog Task table form. This will be useful since in this kind of scenarios you can use an existing field and data. No extra fields needs to be created and no scripting would be required to pull the data from other table.
Also, As I see that the HR Case is generated via record producer in your case so, Is all the fields on the HR Case getting mapped via variable? If you are using an existing value from fields of other tables then you can simply create a single field referring to that table and using dot walk you can have the fields along with data on your HR case.