Calculate Number of Days using Script Include
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-04-2016 04:43 AM
Hello Members,
I am using Demo link (demo016.service-now.com/ ) to create a custom application. It has two Date/Time fields, Start Date and End Date, and one Integer field, Total Number of Days. On the basis of Start Date and End Date I have to calculate the difference between these two dates in No. of Days and have to set the value in the Total Number of Days field.
The issue is :- Total Number of Days field is not showing any value, it is blank, after entering Start Date and End Date
For this I am using Script Include.
Client Script:-
function onChange(control, oldValue, newValue, isLoading) {
var strt = g_form.getValue('start');
var ajax = new GlideAjax('AjaxDurCalc');
ajax.addParam('sysparm_name','durCalc');
ajax.addParam('sysparm_strt',strt);
ajax.addParam('sysparm_end',newValue);
ajax.getXML(HelloWorldParse);
function HelloWorldParse(response) {
var val = response.responseXML.documentElement.getAttribute("answer");
g_form.setValue('total_number_of_days', val);
}
}
Script Include:-
var AjaxDurCalc = Class.create();
AjaxDurCalc.prototype = Object.extendsObject(global.AbstractAjaxProcessor, {
durCalc: function() {
var sd = new GlideDateTime(this.getParameter('sysparm_strt'));
var ed = new GlideDateTime(this.getParameter('sysparm_end'));
var diffSeconds = gs.dateDiff(sd.getDisplayValue(),ed.getDisplayValue(), true);
var converttodays = diffSeconds/(60*60*24);
return converttodays;
}
});
Please suggest if there is any correction to be made in the script.
Thanks,
Neha Pateria
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-05-2016 02:32 AM
Hi Neha Paterla,
Use
parseInt()
(or)
Math.round()
for remove the decimals.