- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-08-2022 06:31 AM
Hi
I am looking for a script to delete 5419 records from hardware table, the transform map created assets without serial numbers.
The key is SERIAL # is NULL.
thank you
Solved! Go to Solution.
- Labels:
-
Scripting and Coding
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-08-2022 08:33 AM
Hi,
you didn't see my updated script
you had used incorrect gliderecord object which I corrected 34mins ago
sharing the script again
deleteRecords();
function deleteRecords(){
try{
var grAlmHardware = new GlideRecord('alm_hardware');
grAlmHardware.addEncodedQuery("serial_numberISEMPTY");
grAlmHardware.setLimit(5);
grAlmHardware.query();
gs.info(gralmHardware.getRowCount()); //check count before deleting
while(grAlmHardware.next())
{
grAlmHardware.deleteRecord(); //uncomment once you verify the count got reduced by 5
}
}
catch(ex){
gs.info(ex);
}
}
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-08-2022 06:40 AM
Hi Navneet
Try this code
var grCmdbCiHardware = new GlideRecord('cmdb_ci_hardware');
grCmdbCiHardware.addEncodedQuery("serial_numberISEMPTY");
grCmdbCiHardware.deleteMultiple();
Make sure you give proper query.
To validate the count and delete try this
var grCmdbCiHardware = new GlideRecord('cmdb_ci_hardware');
grCmdbCiHardware.addEncodedQuery("serial_numberISEMPTY");
grCmdbCiHardware.query();
gs.print(grCmdbCiHardware.getRowCount()); //check count before deleting
while(grCmdbCiHardware.next())
{
//grCmdbCiHardware.deleteRecord(); //uncomment for delet
}
Mark it helpful if this helps you to understand. Accept solution if this give you the answer you're looking for
Kind Regards,
Rohila V
2022-25 ServiceNow Community MVP
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-08-2022 06:52 AM
Rolila, Should I run this as background script?
var grCmdbCiHardware = new GlideRecord('cmdb_ci_hardware');
grCmdbCiHardware.addEncodedQuery("serial_numberISEMPTY");
grCmdbCiHardware.query();
gs.print(grCmdbCiHardware.getRowCount()); //check count before deleting
while(grCmdbCiHardware.next())
{
//grCmdbCiHardware.deleteRecord(); //uncomment for delet
}
thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-08-2022 06:56 AM
create fix script and wrap the code within function
use try catch block and then run
deleteRecords();
function deleteRecords(){
try{
var grCmdbCiHardware = new GlideRecord('cmdb_ci_hardware');
grCmdbCiHardware.addEncodedQuery("serial_numberISEMPTY");
grCmdbCiHardware.query();
gs.print(grCmdbCiHardware.getRowCount()); //check count before deleting
while(grCmdbCiHardware.next())
{
//grCmdbCiHardware.deleteRecord(); //uncomment for delet
}
}
catch(ex){
gs.info(ex);
}
}
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-08-2022 07:02 AM