HR Leave · Australia

Script — CS2_calc_days_glideajax.js

ServiceNow Australia · Custom app · Arabic + English readable · scripts copy/paste ready

App typeCustom
Scopex_786686_hr_leave
sys_idc84db0e8839f0b509f02b0d6feaad3c9
Replace{BASE} = your instance
Instance URLs Studio Business Rules Client Scripts Script Includes

Copy this script into ServiceNow under application x_786686_hr_leave (Australia). Table/API names already use the current scope.

Source: src/client/client_scripts/CS2_calc_days_glideajax.js

/**
 * Client Script: CS2 - Calculate Days (GlideAjax)
 * Application: Custom · Scope: x_786686_hr_leave · sys_id: c84db0e8839f0b509f02b0d6feaad3c9
 * Table:  x_786686_hr_leave_req_v2
 * Type:   onChange
 * Field:  u_end_date
 *
 * Calls HRLXProLeaveUtilsV2.ajaxGetBusinessDays asynchronously to fill u_days_count.
 */
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
    if (isLoading || newValue === '') return;

    var start = g_form.getValue('u_start_date');
    var end = g_form.getValue('u_end_date');
    if (!start || !end || end < start) return;

    var ga = new GlideAjax('x_786686_hr_leave.HRLXProLeaveUtilsV2');
    ga.addParam('sysparm_name', 'ajaxGetBusinessDays');
    ga.addParam('sysparm_start', start);
    ga.addParam('sysparm_end', end);
    ga.getXMLAnswer(function (answer) {
        if (answer !== null && answer !== '') {
            g_form.setValue('u_days_count', answer);
        }
    });
}