Number field is Empty
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
19 hours ago
Dear Members
We have scoped application in which to tables are extended from TASK table.
1st table - ABC
2nd Table - XYZ
The records are creating via API to the ABC table and then Task record creates in the XYZ table via Flow designer. (same concept as RITM and SCTASK)
Until now more than 100 records have been created in ABC table and associated record has been created in XYZ table but the 2 records created with the empty Number field in XYZ table as shown below.
However,When we close this record and then 2nd record creates via flow, the Number is there.
Until now it happens for 2 records. What could be issue? how can we overcome this?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
13 hours ago
Did you check the xml of the record? Was it really empty, or just not showing?
Also: what did the flow executions say?
Please mark any helpful or correct solutions as such. That helps others find their solutions.
Mark
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
13 hours ago
any script is clearing that field?
what debugging did you do?
💡 If my response helped, please mark it as correct ✅ and close the thread 🔒— this helps future readers find the solution faster! 🙏
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12 hours ago
Hi @aamir khan
This issue of intermittent blank Number fields in child task tables (like XYZ) extended from the Task table aligns with a known platform behavior documented in ServiceNow KBs.
Root Cause
There are two common causes when extended tables (like your XYZ) occasionally miss number assignment:
Dictionary or Default Value Race Condition
The automatic Number population uses global.getNextObjNumberPadded() or NumberManager().getNextObjNumberPadded().
If Flow Designer inserts the record concurrently (for example through async execution or subflow branching), the numbering may be skipped due to race conditions at insert time.sys_number_counter Out‑of‑Sync or Overridden
The system table sys_number_counter may not synchronize correctly during record creation spikes. The platform supports only one auto‑number field per table, so if the Number field was overridden or bypassed via a script, some inserts might fail to get the next sequence value
Official KB References
KB0722609 – Tasks created with empty number values
Confirms that this can occur if the default value is not properly applied at insert time.
Fix: Add a dictionary override for table XYZ and set the Default Value to
global.getNextObjNumberPadded() or use new NumberManager('<table_name>').getNextObjNumberPadded().
This ensures every new record gets a number even if the flow fires asynchronously.https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0722609
You can also repair past blanks via background script:
var rec = new GlideRecord('u_xyz');
rec.addNullQuery('number');
rec.query();
while (rec.next()) {
rec.number = new NumberManager('u_xyz').getNextObjNumberPadded();
rec.setWorkflow(false);
rec.update();
}
KB0867171 – CMDB and Auto‑Number Fields
Notes that there is a platform limit of one auto‑number field per table/class, and inserts may fail number generation if another field or sub‑class interferes with numbering or if business rules enforcing uniqueness are disabled or duplicated.
https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0867171
Recommended Actions
Add Dictionary Override
Open Number field on XYZ table.
Create a dictionary override with:
Default Value: global.getNextObjNumberPadded()
Ensure use default value on insert option is selected.
Check Flow Logic
If Flow inserts new XYZ records via a “Create Record” action, ensure it does not pre‑set the Number field (blank or other), since a null override can suppress the default generator.
Validate sys_number_counter Record
Navigate to sys_number_counter.list, filter by Table = XYZ.
Ensure the Next value column is ahead of your existing records.
Repair Past Data
Use the background script (above) to repopulate any missing values.
Implementing the dictionary override fix guarantees that all future XYZ task records get a valid Number even under async or high‑load flow execution.
If it is helpful, please hit the thumbs button and accept the correct solution by referring to this solution in the future it will be helpful to them.
Thanks & Regards,
Mohammed Mustaq Shaik
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12 hours ago
@aamir khan Along with the reasons explained by other one reason could be the API sending the body having number attribute which is either inserting/updating the number as empty.
Please mark the answer correct/helpful accordingly.