Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Removal of duplicate records

Gayathry
Tera Contributor

Hi All,

We have found some duplicate records in ast_contract table, and we need to clean up the duplicate records without deleting any records.

Could you please help us.

Thanks!

2 REPLIES 2

Dr Atul G- LNG
Tera Patron
Tera Patron

Hi mate

To clean it up, you have a few options:

  • Rename it with a suffix like _old

  • Delete it (if appropriate)

  • Or check if you can simply mark it as inactive

*************************************************************************************************************
If my response proves useful, please indicate its helpfulness by selecting " Accept as Solution" and " Helpful." This action benefits both the community and me.

Regards
Dr. Atul G. - Learn N Grow Together
ServiceNow Techno - Functional Trainer
LinkedIn: https://www.linkedin.com/in/dratulgrover
YouTube: https://www.youtube.com/@LearnNGrowTogetherwithAtulG
Topmate: https://topmate.io/atul_grover_lng [ Connect for 1-1 Session]

****************************************************************************************************************

TippaluruK
Giga Contributor

Hello,


Identify Duplicate Contracts in a List View or Script
Duplicates are usually defined by one or more fields (like contract_number, vendor, etc.). You can find them using:

Option A: Use a List View Grouping
Go to the ast_contract table.

Create a list view and group by the fields you think define a duplicate (e.g., contract_number, vendor).

Add a count column by adding a database view or export to Excel for filtering duplicates (count > 1).

Use Script to Tag Duplicates (Business Rule or Background Script)
You can use a background script in the Scripts - Background module to tag the duplicate records:

 

var seen = {}; // to track first records
var gr = new GlideRecord('ast_contract');
gr.query();

while (gr.next()) {
var key = gr.getValue('contract_number') + '-' + gr.getValue('vendor'); // Change fields as needed

if (seen[key]) {
gr.u_is_duplicate = true; // You need to create a field u_is_duplicate (true/false)
gr.update();
} else {
seen[key] = gr.sys_id;
gr.u_is_duplicate = false;
gr.update();
}
}
How to create u_is_duplicate field:
Go to Table → ast_contract

Add new field:

Column label: Is Duplicate

Column name: u_is_duplicate

Type: True/False 

 

Thanks,

Kishore.