- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-07-2020 11:24 PM
How to stop schedule job to trigger on Holidays. I have updated all holidays in Schedules.
Thanks & Regards,
S.Swaroop.
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-08-2020 03:37 AM
Okay.
I added few logs and made few changes. can you chck and share the output.
var answer = false;
var s = new GlideSchedule("e939ddfcdb2c98501317f27139961981");
var w = new GlideSchedule("55ebbbf15f002000b12e3572f2b47714");
var a = gs.nowDateTime();
var gdt = new GlideDateTime();
gs.log(gdt);
if(gdt.getDayOfWeek() > 1 || gdt.getDayOfWeek() < 5){
gs.log("Entered here 1");
if(s.isInSchedule(gdt)&&!w.isInSchedule(gdt)){
gs.log("Entered here 2");
answer = true;
} else {
gs.log("Entered into else of inSchedule condition");
answer = false;
}
} else {
gs.log("entered into else condition of week");
answer = false;
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-08-2020 02:51 AM
Hello Ankur,
I am getting 8th May. Which is the one i have kept as Holiday in my Schedules.
Thanks & Regards,
S.Swaroop.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-08-2020 03:04 AM
Hi Swaroop,
I don't think there is an issue with isInSchedule
Can you share updated code?
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
05-08-2020 03:05 AM
Hello Ankur,
Below is the updated code.
var answer = false;
var s = new GlideSchedule("e939ddfcdb2c98501317f27139961981"); - This is for checking Business hours
var w = new GlideSchedule("55ebbbf15f002000b12e3572f2b47714"); - This is for checking Holidays
var a = gs.nowDateTime(); - This i am using to get current Date and time and to validate weather it is coming under Business hours (or) not.
var gdt = new GlideDateTime();
if(gdt.getDayOfWeek() > 1 || gdt.getDayOfWeek() < 5){
if(s.isInSchedule(a)&&!w.isInSchedule(a)){
answer = true;
}
answer = false;
}
answer = false;
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-08-2020 03:32 AM
Hi,
please use new GlideDateTime() instead of gs.nowDateTime()
var a = new GlideDateTime();
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
05-08-2020 03:57 AM
Hello Ankur,
Thanks for the help. I used the below script and it worked perfectly.
var answer = false;
var s = new GlideSchedule("e939ddfcdb2c98501317f27139961981");
var w = new GlideSchedule("55ebbbf15f002000b12e3572f2b47714");
var gdt = new GlideDateTime();
if(gdt.getDayOfWeek() > 1 || gdt.getDayOfWeek() < 5){
if(s.isInSchedule(gdt)&&!w.isInSchedule(gdt)){
answer = true;
}
}
Thanks & Regards,
S.Swaroop.