I have to calculate years of working.

niveditakumari
Mega Sage

Hi @shivatmika_19

 

I have written code and added below code to calculate years. 

It is not working. 

Please find attached screenshot : 

 

niveditakumari_2-1740941280843.png

 

niveditakumari_1-1740941167146.png

 

niveditakumari_0-1740941098056.png

 

Please help me to correct that. 

 

Regards, 

Nivedita 

 

 

2 ACCEPTED SOLUTIONS

@niveditakumari 
Please use the following content: 

Congratulations on ${mail_script:yearsOfWorking} Amazing Years, ${first_name} ${last_name}

Dear ${first_name} ${last_name},

Today marks a special milestone for ${first_name} ${last_name}'s ${mail_script:yearsOfWorking}-year work anniversary at ACME South America! Over the years, ${first_name} ${last_name} has consistently contributed their qualities/skills to our team.

From leading successful projects in department Product Management to mentoring new team members, ${first_name} ${last_name} has been an invaluable part of our journey." Your commitment and hard work have made a lasting impact, and we're so grateful to have you as part of our ACME South America family.

Let's all take a moment to congratulate ${first_name} ${last_name} and celebrate their incredible journey with us. Here's to many more successful years together!

Thank you for being an inspiration and for all the contributions you've made. Happy Work Anniversary, ${first_name} ${last_name}!

Signature:

Aruna,

Human Resource Manager.

I believe I've addressed all of your questions. If you're satisfied with the solution, kindly click the thumbs up and accept my answer to close this thread.

 

 

 


If you found this helpful, please hit the thumbs-up button and mark as correct. That helps others find their solutions.

View solution in original post

@niveditakumari 

If you are using DateTime field please adjust the script as follow:

var hiringDate = current.u_hr_hire_date;
var hiringDateGd = new GlideDateTime(hiringDate);
var currentDateGd = new GlideDateTime();
var hiringYear = hiringDateGd.getYearUTC();
var currentYear = currentDateGd.getYearUTC();
var experience = currentYear - hiringYear;
template.print(experience);

If you found this helpful, please hit the thumbs-up button and mark as correct. That helps others find their solutions.

View solution in original post

29 REPLIES 29

Rampriya-S
Tera Guru
Tera Guru

@niveditakumari

Could you validate current.u_hr_hire_date has proper date value? Because your script working fine and calculating year difference in background with test value.
var hiringDate = '2015-10-06'; // (yyyy-MM-dd)
var hiringDateGd = new GlideDate();
hiringDateGd.setValue(hiringDate);
var currentDateGd = new GlideDate();
var hiringYear = hiringDateGd.getYearNoTZ();
var currentYear = currentDateGd.getYearNoTZ();
var experience = currentYear - hiringYear;
gs.info('Experience: ' + experience + ' years');
 
Best,
Rampriya S

Ankur Bawiskar
Tera Patron
Tera Patron

@niveditakumari 

are you sure the field at line 7 has value in it

what debugging did you perform for the above script?

Did you try that in background script first?

If my response helped please mark it correct and close the thread so that it benefits future readers.

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

Hi @Ankur Bawiskar

 

I tried printing line 7 and it is not priniting value for hiring date and field name is correct. 

Can you please help me to correct that. 

 

Regards, 

Nivedita 

 

 

@niveditakumari 

email script/notification is on which table

that field is on which table?

If my response helped please mark it correct and close the thread so that it benefits future readers.

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader