
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-30-2017 06:44 AM
// Check if the table has the field, u_number
var grCheck = new GlideRecord('myCustomTable');
grCheck.query();
var fields = new GlideRecordUtil().getFields(grCheck);
var numberFieldFound = false;
for (var j = 0; j < fields.length; j++)
{
var fieldName = fields[j];
if (fieldName == "u_number")
{
numberFieldFound = 'true';
break;
}
}
// u_number field found. Make sure it has a value. If not, give it one!
if (numberFieldFound)
{
var fCount = 0;
// https://community.servicenow.com/thread/260128
var grU = new GlideRecord('myCustomTable');
grU.orderBy('sys_created_on');
grU.query();
while (grU.next())
{
if (grU.u_number)
continue;
fCount++;
var nm = new NumberManager('myCustomTable');
grU.u_number = nm.getNextObjNumberPadded();
grU.autoSysFields(false); // Do not update sys_updated_on, sys_updated_by, and sys_mod_count
grU.setWorkflow(false); // Do not run any other business rules
grU.update();
}
gs.addInfoMessage(fCount + " records were auto-updated with a u_number value.");
}
else
{
// No u_number field. Tell the user!
gs.addErrorMessage("There is no 'u_number' field on the " + 'myCustomTable' + " table!");
return;
}
I'm trying to look at a custom table and see if a u_number field is present. If not, warn the user.
The problem is, GlideRecordUtil().getFields() needs a record to grab. I need a way to find out even if there is no record.
Anyone know the answer?
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-30-2017 07:05 AM
// Check if the Calendar Event table has the field, u_number
var numberFieldFound = false;
var grCheck = new GlideRecord('sys_dictionary');
grCheck.addQuery('name', 'myCustomTable');
grCheck.addQuery('element', 'u_number');
grCheck.query();
if (grCheck.next())
numberFieldFound = 'true';
// u_number field found. Make sure it has a value. If not, give it one!
if (numberFieldFound)
{
var fCount = 0;
// https://community.servicenow.com/thread/260128
var grU = new GlideRecord('myCustomTable');
grU.orderBy('sys_created_on');
grU.query();
while (grU.next())
{
if (grU.u_number)
continue;
fCount++;
var nm = new NumberManager('myCustomTable');
grU.u_number = nm.getNextObjNumberPadded();
grU.autoSysFields(false); // Do not update sys_updated_on, sys_updated_by, and sys_mod_count
grU.setWorkflow(false); // Do not run any other business rules
grU.update();
}
if (fCount)
gs.addInfoMessage(fCount + " records were auto-updated with a u_number value.");
}
else
{
// No u_number field. Tell the user!
gs.addErrorMessage("There is no 'u_number' field on the " + 'myCustomTable' + " table!");
return;
}
I needed to query sys_dictionary to look for u_number.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-30-2017 07:05 AM
// Check if the Calendar Event table has the field, u_number
var numberFieldFound = false;
var grCheck = new GlideRecord('sys_dictionary');
grCheck.addQuery('name', 'myCustomTable');
grCheck.addQuery('element', 'u_number');
grCheck.query();
if (grCheck.next())
numberFieldFound = 'true';
// u_number field found. Make sure it has a value. If not, give it one!
if (numberFieldFound)
{
var fCount = 0;
// https://community.servicenow.com/thread/260128
var grU = new GlideRecord('myCustomTable');
grU.orderBy('sys_created_on');
grU.query();
while (grU.next())
{
if (grU.u_number)
continue;
fCount++;
var nm = new NumberManager('myCustomTable');
grU.u_number = nm.getNextObjNumberPadded();
grU.autoSysFields(false); // Do not update sys_updated_on, sys_updated_by, and sys_mod_count
grU.setWorkflow(false); // Do not run any other business rules
grU.update();
}
if (fCount)
gs.addInfoMessage(fCount + " records were auto-updated with a u_number value.");
}
else
{
// No u_number field. Tell the user!
gs.addErrorMessage("There is no 'u_number' field on the " + 'myCustomTable' + " table!");
return;
}
I needed to query sys_dictionary to look for u_number.