Script written in below Business rule not getting triggered properly
Community Alums
Not applicable
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-11-2024 04:20 AM
var durationProd = 0; // Total time in milliseconds
var lastProdChangeTime = '';
// Query the sys_audit table for changes to the "Next Action" field
var auditGR = new GlideRecord('sys_audit');
auditGR.addQuery('documentkey', current.sys_id);
auditGR.addEncodedQuery('fieldname=u_next_action');
auditGR.orderBy('sys_created_on');
auditGR.query();
while (auditGR.next()) {
var newValue = auditGR.newvalue.toString();
var changeTime = new GlideDateTime(auditGR.sys_created_on);
if (newValue == 'Resolved Pend Cust Handshake') {
if (lastProdChangeTime) {
gs.info('lastProdChangeTime:' + lastProdChangeTime);
gs.info('changeTime:' + changeTime);
var diff = GlideDateTime.subtract(lastProdChangeTime, changeTime).getNumericValue();
gs.info('diff:' + diff);
durationProd += diff;
gs.info('durationProd:' + durationProd);
}
lastProdChangeTime = changeTime; // Update the last change time to "Prod"
gs.info('lastProdChangeTime:' + lastProdChangeTime);
}
var r = durationProd / (1000 * 60);
var removedecimal = Math.floor(r);
current.u_rpchs_duration = removedecimal + ' Minutes';
}
}
HI Team,
I am facing an issue wherien I have written the below BR with trigger condition as next action changes but it does not trigger immediately.
I am trying to update the number of minutes a field "u_next_action" holds the value
"Resolved Pend Cust Handshake". I am quering the sys_audit table to check the newvalue as same.
Issue is suppose for the first time I put the next action field as "Resolved Pend Cust Handshake"
, system does not update "u_rpchs_duration" field. It updates after 3 times I change the value to "Resolved Pend Cust Handshake" , it reflects the total duration.
Can you tell how to fix this?
var durationProd = 0; // Total time in milliseconds
var lastProdChangeTime = '';
// Query the sys_audit table for changes to the "Next Action" field
var auditGR = new GlideRecord('sys_audit');
auditGR.addQuery('documentkey', current.sys_id);
auditGR.addEncodedQuery('fieldname=u_next_action');
auditGR.orderBy('sys_created_on');
auditGR.query();
while (auditGR.next()) {
var newValue = auditGR.newvalue.toString();
var changeTime = new GlideDateTime(auditGR.sys_created_on);
if (newValue == 'Resolved Pend Cust Handshake') {
if (lastProdChangeTime) {
gs.info('lastProdChangeTime:' + lastProdChangeTime);
gs.info('changeTime:' + changeTime);
var diff = GlideDateTime.subtract(lastProdChangeTime, changeTime).getNumericValue();
gs.info('diff:' + diff);
durationProd += diff;
gs.info('durationProd:' + durationProd);
}
lastProdChangeTime = changeTime; // Update the last change time to "Prod"
gs.info('lastProdChangeTime:' + lastProdChangeTime);
}
var r = durationProd / (1000 * 60);
var removedecimal = Math.floor(r);
current.u_rpchs_duration = removedecimal + ' Minutes';
}
1 REPLY 1
Community Alums
Not applicable
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-11-2024 07:50 AM
Can you show the trigger of your BR ? As well as the entire script of your BR - screenshots are most welcome.