scheduled job script is not adding 1 hour to schedule end before state close

Arjun Kumar Le1
Tera Contributor

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

Sohail Khilji
Kilo Patron
Kilo Patron

Hi @Arjun Kumar Le1 

 

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....

LinkedIn - Lets Connect

Bert_c1
Kilo Patron

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.