- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-05-2024 07:49 AM
Hello,
I need to write a background script to remove _) from end of serial number in alm_hardware. Any assistance is appreciated.
Thanks,
Chad
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-05-2024 08:36 AM
Hi @purdue ,
You can try below background scripts:
Script 1:
var al = new GlideRecord("alm_hardware");
al.addEncodedQuery("serial_numberENDSWITH_)");
al.query();
while(al.next()){
gs.print("Before Update:"+al.getValue("serial_number"));
var str = al.getValue("serial_number").toString();
var str1 = str.split('_');
gs.print("After Update:"+str1[0]);
al.setValue('serial_number',str1[0]);
al.setWorkflow(false);
al.autoSysFields(false);
al.update();
}
OR
Script 2:
var al = new GlideRecord("alm_hardware");
al.addEncodedQuery("serial_numberENDSWITH_)");
al.query();
while(al.next()){
gs.print("Before Update:"+al.getValue("serial_number"));
var str = al.getValue("serial_number").toString();
var str1 = str.replace(/[^a-zA-Z0-9]/g, '')
gs.print("After Update:"+str1);
al.setValue('serial_number',str1);
al.setWorkflow(false);
al.autoSysFields(false);
al.update();
}
Please hit the like button if my suggestion has helped you in any way.
Please mark correct if my response has solved your query.
Thanks & Regards
Jyoti Jadhav
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-05-2024 07:57 AM
Hi @purdue,
If u want to do it for all existing records then please use the below script
var serialNo = '';
var gr = new GlideRecord('alm_hardware');
gr.addEncodedQuery('serial_number!=NULL');//only check for serial numbers which are not empty
gr.query();
while(gr.next()){
serialNo = gr.serial_number.split('_');
gr.serial_number = serialNo[0];
gr.update();
}
Thanks,
Danish
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-05-2024 08:09 AM
Hi @purdue ,
Please use the below script to update existing serial number having "_)" in last.
Test with if condition, to check one record update only and after test successful, you can again use the while loop.
var serialTemp;
var grHardWare = new GlideRecord("alm_hardware");
grHardWare.addQuery("serial_numberENDSWITH_)");
grHardWare.query();
while(grHardWare.next()){
serialTemp = grHardWare.serial_number;
serialTemp.substr(0,serialTemp.length-2); // remove the last 2 character
grHardWare.serial_number=serialTemp; // set the new value
grHardWare.update();
}
-Thanks,
AshishKM
Please mark this response as correct and helpful if it helps you can mark more that one reply as accepted solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-05-2024 08:29 AM
Hi @purdue ,
You can try below background Script:
var al = new GlideRecord("alm_hardware");
al.addEncodedQuery("serial_numberENDSWITH_)");
al.query();
while(al.next()){
gs.print("Before Update:"+al.getValue("serial_number"));
var str = al.getValue("serial_number").toString();
var str1 = str.replace(/[^a-zA-Z0-9]/g, '')
gs.print("After Update:"+str1);
al.setValue('serial_number',str1);
al.setWorkflow(false);
al.autoSysFields(false);
al.update();
}
Please hit the like button if my suggestion has helped you in any way.
Please mark correct if my response has solved your query.
Thanks & Regards
Jyoti Jadhav
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-05-2024 08:36 AM
Hi @purdue ,
You can try below background scripts:
Script 1:
var al = new GlideRecord("alm_hardware");
al.addEncodedQuery("serial_numberENDSWITH_)");
al.query();
while(al.next()){
gs.print("Before Update:"+al.getValue("serial_number"));
var str = al.getValue("serial_number").toString();
var str1 = str.split('_');
gs.print("After Update:"+str1[0]);
al.setValue('serial_number',str1[0]);
al.setWorkflow(false);
al.autoSysFields(false);
al.update();
}
OR
Script 2:
var al = new GlideRecord("alm_hardware");
al.addEncodedQuery("serial_numberENDSWITH_)");
al.query();
while(al.next()){
gs.print("Before Update:"+al.getValue("serial_number"));
var str = al.getValue("serial_number").toString();
var str1 = str.replace(/[^a-zA-Z0-9]/g, '')
gs.print("After Update:"+str1);
al.setValue('serial_number',str1);
al.setWorkflow(false);
al.autoSysFields(false);
al.update();
}
Please hit the like button if my suggestion has helped you in any way.
Please mark correct if my response has solved your query.
Thanks & Regards
Jyoti Jadhav