scheduled job script is not adding 1 hour to schedule end before state close
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-25-2024 06:30 AM
in scheduled job script is not adding 1 hour to schedule end before state close as mention in the below code, please help
var gdt = new GlideDateTime();
var gr = new GlideRecord("x_nokas_mam_assignment");
gr.addQuery('state', 2);
gr.addQuery("scheduled_end", "<", gdt);
gr.query();
while (gr.next()) {
//var scheduledEnd = new GlideRecord(gr.getValue("scheduled_end"));
var gdt1 = new GlideDateTime(gr.getValue("scheduled_end"));
gdt1.addSeconds(1 * 60 * 60);
if (gdt1.compareTo(gdt) > 0) {
gr.state = '3';
gr.update();
}
}
2 REPLIES 2
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-25-2024 06:49 AM
Try this script :
var gdt = new GlideDateTime();
var gr = new GlideRecord("x_nokas_mam_assignment");
gr.addQuery('state', 2);
gr.addQuery("scheduled_end", "<", gdt);
gr.query();
while (gr.next()) {
var gdt1 = new GlideDateTime(gr.getValue("scheduled_end"));
gdt1.addHours(1);
if (gdt1.compareTo(gdt) > 0) {
gr.state = '3';
gr.scheduled_end = gdt1;
gr.update();
}
}
☑️ Please mark responses as HELPFUL or ACCEPT SOLUTION to assist future users in finding the right solution....
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-25-2024 07:04 AM
The following works for me (using my custom table)
var gdt = new GlideDateTime();
var gr = new GlideRecord("u_test_table");
// gr.addQuery('state', 2);
gr.addQuery("u_future_date", "<", gdt);
gr.query();
while (gr.next()) {
gs.info("Processing: " + gr.u_name + ", end date: " + gr.u_end_date);
//var scheduledEnd = new GlideRecord(gr.getValue("scheduled_end"));
var gdt1 = new GlideDateTime(gr.getValue("u_end_date"));
gdt1.addSeconds(1 * 60 * 60);
gs.info("New date-time = " + gdt1);
var compResult = gdt1.compareTo(gdt);
switch (compResult) {
case 1:
gs.info("new date is after " + gdt);
break;
case 0:
gs.info("new date is equal " + gdt);
break;
case -1:
gs.info("new date is before " + gdt);
break;
default:
gs.info("new date is bad");
}
}
The 'addSeconds( 1 * 60 * 60)' works. I suggest you add debug and test in Scripts background.