- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-22-2022 11:00 PM
We have requirement to change a field in a related table using dot walking. The line gs.info("Current Date lesser than grSME date"+current.scheduled_maintenance.asset.u_next_scheduled_maint_date); works fine and i could get a log statement. But the succeeding line fails to update the record.
(function executeRule(current, previous /*null when async*/) {
// Add your code here
var grSME= new GlideRecord("x_nuvo_eam_scheduled_maintenance_executions");
grSME.addQuery('scheduled_maintenance',current.scheduled_maintenance);
grSME.orderBy('status');
grSME.orderBy('scheduled_date');
grSME.setLimit(1);
grSME.query();
if(grSME.next()){
gs.info(grSME.scheduled_date+current.scheduled_date);
if(grSME.status=="Pending"){
gs.info("Pending Status");
if(current.scheduled_date<grSME.scheduled_date){
gs.info("Current Date lesser than grSME date"+current.scheduled_maintenance.asset.u_next_scheduled_maint_date);
current.scheduled_maintenance.asset.last_maintenance_date=current.scheduled_date;
}
}
else{
current.scheduled_maintenance.asset.u_next_scheduled_maint_date=current.scheduled_date;
}
}
})(current, previous);
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-22-2022 11:02 PM
Hi,
you cannot set dot walked field like this
you need to query that table and then update the field
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-22-2022 11:02 PM
Hi,
you cannot set dot walked field like this
you need to query that table and then update the field
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-22-2022 11:10 PM
Thank you. It works
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-22-2022 11:06 PM
Hi,
like this
(function executeRule(current, previous /*null when async*/) {
// Add your code here
var grSME= new GlideRecord("x_nuvo_eam_scheduled_maintenance_executions");
grSME.addQuery('scheduled_maintenance',current.scheduled_maintenance);
grSME.orderBy('status');
grSME.orderBy('scheduled_date');
grSME.setLimit(1);
grSME.query();
if(grSME.next()){
gs.info(grSME.scheduled_date+current.scheduled_date);
if(grSME.status=="Pending"){
gs.info("Pending Status");
if(current.scheduled_date<grSME.scheduled_date){
gs.info("Current Date lesser than grSME date"+current.scheduled_maintenance.asset.u_next_scheduled_maint_date);
// query the asset table and update
var gr = new GlideRecord("asset table");
gr.addQuery("sys_id", current.scheduled_maintenance.asset);
gr.query();
if (gr.next()) {
gr.last_maintenance_date = current.scheduled_date;
gr.update();
}
}
}
else{
// query the asset table and update
var gr1 = new GlideRecord("asset table");
gr1.addQuery("sys_id", current.scheduled_maintenance.asset);
gr1.query();
if (gr1.next()) {
gr1.u_next_scheduled_maint_date = current.scheduled_date;
gr1.update();
}
}
}
})(current, previous);
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader