Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-11-2025 04:00 AM
Hi,
I have to send birthday notification to employee. I have written schedule job script and date of birth is type as date field. I have tested that script and I'm able to get birthday, birthday day, birthday month value, it seems it is having issue while checking if condition.
Please find below script and correct that :
var gr = new GlideRecord("sys_user");
//gr.addActiveQuery();
gr.addQuery("active=true^u_sf_date_of_birthISNOTEMPTY");
gr.query();
gs.log('success query');
var c = 0;
while (gr.next()) {
gs.log('success loop');
var bdate = gr.u_sf_date_of_birth.toString();
gs.log('birthday is' + bdate);
var to_date = new GlideDateTime();//current day's date
gs.log('today date is' + to_date);
var bday = bdate.split("-")[2]; //birthday date
gs.log('birthday day is' + bday);
var bmonth = bdate.split("-")[1]; //birthday month
gs.log('birthday month is' + bmonth);
if(to_date.getMonth().toString() == bmonth && to_date.getDayOfMonth().toString() == bday){
c++;
gs.log('count is here' + c);
gs.log("Hi, it's the user's birthday!");
gs.eventQueue("birthday.notification",gr,gr.name.toString(),gr.email.toString());
}
}
Please help me to correct that.
Regards,
Nivedita
Solved! Go to Solution.