Sript to Remove Records created on a specific date

carlh
Kilo Guru

Can anyone provide a script to remove records created on a specific date?

Something went wrong today and we ended up with Duplicates of all records on our vendor table.

I need a script that will delete all records created on 7/28/2016 in Core_Company table.

Please let me know and thanks!

1 ACCEPTED SOLUTION

Pradeep Sharma
ServiceNow Employee
ServiceNow Employee

Hi Carl,



Slight modification to the script shared by Abhniay. Enclosed code in function and added setWorkflow line to turn of notification/BR


Script :


delCoreCompanyRec();


function delCoreCompanyRec()


{


var gr= new GlideRecord("core_company");


gr.addEncodedQuery("sys_created_onON2016-07-28@javascript:gs.dateGenerate('2016-07-28','start')@javascript:gs.dateGenerate('2016-07-28','end')");


gr.setWorkflow(false); //Don't fire Business rule,notifications


gr.deleteMultiple();


}


View solution in original post

21 REPLIES 21

Abhinay Erra
Giga Sage

Here you go



var gr= new GlideRecord("core_company");


gr.addEncodedQuery("sys_created_onON2016-07-28@javascript:gs.dateGenerate('2016-07-28','start')@javascript:gs.dateGenerate('2016-07-28','end')");


gr.deleteMultiple();


Abhinay Erra
Giga Sage

Before deleting them, use this in the background script and see if you get correct number



var gr= new GlideRecord("core_company");


gr.addEncodedQuery("sys_created_onON2016-07-28@javascript:gs.dateGenerate('2016-07-28','start')@javascript:gs.dateGenerate('2016-07-28','end')");


gs.print(gr.getRowCount());


I tried this first....result below



find_real_file.png


Abhinay Erra
Giga Sage

Oops, missing gr.query(); in the script. Try this


var gr= new GlideRecord("core_company");


gr.addEncodedQuery("sys_created_onON2016-07-28@javascript:gs.dateGenerate('2016-07-28','start')@javascript:gs.dateGenerate('2016-07-28','end')");


gr.query();


gs.print(gr.getRowCount());