ServiceNow get record last updated fields - GLOBAL scope
(for scoped app version see this article )
and http://snamigos.blogspot.com/2017/11/how-to-get-changed-or-modified-fields.html
notes:
- may not work in scoped applications
copy below into an after business rule on incident update for example:
(function executeRule(current, previous /*null when async*/ ) {
gs.addInfoMessage('test br');
gs.include('j2js');
var gru = GlideScriptRecordUtil.get(current);
var sChgFields = gru.getChangedFields();
//var sChgFieldsNames = gru.getChangedFieldNames();
//var sChg= gru.getChanges();
gs.addInfoMessage(sChgFields);
//gs.addInfoMessage(sChgFieldsNames);
//gs.addInfoMessage(sChg);
})(current, previous);
https://www.youtube.com/watch?v=5rs6LimyuEI&t=13s
script include version - additional features:
this.si.getIncidentLastUpdatedFields(current);
getIncidentLastUpdatedFields: function (incGR) {
try {
gs.include('j2js');
var gru = GlideScriptRecordUtil.get(incGR);
var changedFields = gru.getChangedFields(); //Returns an arrayList of changed field elements with friendly names
var changedFieldNames = gru.getChangedFieldNames(); //Returns an arrayList of changed field elements with database names
var changeds = gru.getChanges(); //Returns an arrayList of all change values from changed fields
gs.info("changedFields: " + changedFields.toString());
gs.info("changedFieldNames: " + changedFieldNames.toString());
gs.info("changeds: " + changeds.toString());
var changedFieldsF = j2js(changedFields);
var changedFieldNamesF = j2js(changedFieldNames);
var changedsF = j2js(changeds);
gs.info("Changed Fields: " + JSON.stringify(changedFieldsF));
gs.info("Changed Field Names: " + JSON.stringify(changedFieldNamesF));
gs.info("Changes: " + JSON.stringify(changedsF));
} catch (ex) {
gs.info('ERROR'+ex.toString());
}
}
(ServiceNow )
Comments
Post a Comment