- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-23-2025 11:28 PM - edited ‎03-23-2025 11:29 PM
(function executeRule(current, previous /*null when async*/ ) {
var cardOrderSysId = '00078ubc95uc10sf7bd4bcbed';
gs.addInfoMessage('Catalog Item: ' + current.cat_item.toString());
if (current.cat_item.toString() !== cardOrderSysId) {
return;
}
var tinNumber = current.variables.u_tin;
var memberNumber = current.variables.u_member_number;
if (!tinNumber && !memberNumber) {
return;
}
var existingReqItem = new GlideRecord('sc_req_item');
existingReqItem.addQuery('cat_item', cardOrderSysId);
existingReqItem.addQuery('sys_id', '!=', current.sys_id);
if (tinNumber) {
existingReqItem.addQuery('u_tin', tinNumber);
}
if (memberNumber) {
existingReqItem.addQuery('u_member_number', memberNumber);
}
existingReqItem.query();
if (existingReqItem.next()) {
gs.addInfoMessage('Duplicate Request Found: ' + existingReqItem.request.number);
var requestId = current.getValue('request');
gs.addInfoMessage('Request ID: ' + requestId);
var req = new GlideRecord('sc_request');
req.addQuery('sys_id', requestId);
req.query();
gs.addInfoMessage('req.query(): ' + req.query());
while (req.next())
{
gs.addInfoMessage('Request Record Found: ' + req.number);
req.u_isduplicate = true;
req.u_reference_ticket_number = existingReqItem.request.number;
req.special_instructions = 'Duplicate detected';
req.update();
}
}
})(current, previous);
Above is my After Insert Business Rule, designed to update a checkbox and a text field. The script checks if a new request contains a Member Number or TIN that already exists in a previous request. If a match is found, the existing request number is fetched, updated in the new request, and a flag is set. I have added logs to debug the issue, and the values and sys_ids are retrieved correctly, but the fields are not updating. I have also tried the before insert.
Iam getting the currect sysid in:
But "gs.addInfoMessage('req.query(): ' + req.query());" in this log Iam getting undefined and it does not going to
Could you please provide a solution?
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-24-2025 01:26 AM
so it means it's not able to query sc_Request table with that sysId
Did you check that sysId is correct REQ sysId?
Any query business rule on sc_request is blocking?
Why are you querying sc_request? you can simply get the GlideRecord object using this line
var req = current.request.getRefRecord();
update as this and check
(function executeRule(current, previous /*null when async*/ ) {
var cardOrderSysId = '00078ubc95uc10sf7bd4bcbed';
gs.addInfoMessage('Catalog Item: ' + current.cat_item.toString());
if (current.cat_item.toString() !== cardOrderSysId) {
return;
}
var tinNumber = current.variables.u_tin;
var memberNumber = current.variables.u_member_number;
if (!tinNumber && !memberNumber) {
return;
}
var existingReqItem = new GlideRecord('sc_req_item');
existingReqItem.addQuery('cat_item', cardOrderSysId);
existingReqItem.addQuery('sys_id', '!=', current.sys_id);
if (tinNumber) {
existingReqItem.addQuery('u_tin', tinNumber);
}
if (memberNumber) {
existingReqItem.addQuery('u_member_number', memberNumber);
}
existingReqItem.query();
if (existingReqItem.next()) {
gs.addInfoMessage('Duplicate Request Found: ' + existingReqItem.request.number);
var requestId = current.getValue('request');
gs.addInfoMessage('Request ID: ' + requestId);
var req = current.request.getRefRecord();
gs.addInfoMessage('Request Record Found: ' + req.number);
req.u_isduplicate = true;
req.u_reference_ticket_number = existingReqItem.request.number;
req.special_instructions = 'Duplicate detected';
req.update();
} else {
gs.addInfoMessage('No matching request record found.');
}
}
})(current, previous);
If my response helped please mark it correct and close the thread so that it benefits future readers.
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-24-2025 01:36 AM
Thanks, Its working now