- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-31-2023 03:03 AM
I have below requirement, on change of tenure in months -- last date of loan should auto populate. It should take the date of after tenure in months from the start date of loan. can someone help me how to resolve this.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-31-2023 04:38 AM - edited 10-31-2023 04:40 AM
Let's try the below approach.
1. Create a ClientCallable Script Include (AJAX)
var CLCatalogItemUtilAJAX = Class.create();
CLCatalogItemUtilAJAX.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getEndDateOfLoan: function(){
var start_date = this.getParameter('sysparm_start_date');
var months = this.getParameter('sysparm_months');
var gdt = new GlideDateTime(start_date);
gdt.addMonthsUTC(months);
return gdt.getDate();
},
type: 'CLCatalogItemUtilAJAX'
});
2. Create OnChange Client Script on the variable Month
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading) {
return;
}
if (newValue === '') {
g_form.clearValue('end_date_of_loan'); //replace your variable name
}
var ga = new GlideAjax('CLCatalogItemUtilAJAX');
ga.addParam('sysparm_name', 'getEndDateOfLoan');
ga.addParam('sysparm_start_date', g_form.getValue('start_date_of_loan')); //replace your variable name
ga.addParam('sysparm_months', newValue);
ga.getXMLAnswer(function(response) {
if(response){
g_form.setValue('end_date_of_loan', response); //replace your variable name
}
});
}
Let me know if it works for you.
Cheers,
Tai Vu
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-31-2023 04:38 AM - edited 10-31-2023 04:40 AM
Let's try the below approach.
1. Create a ClientCallable Script Include (AJAX)
var CLCatalogItemUtilAJAX = Class.create();
CLCatalogItemUtilAJAX.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getEndDateOfLoan: function(){
var start_date = this.getParameter('sysparm_start_date');
var months = this.getParameter('sysparm_months');
var gdt = new GlideDateTime(start_date);
gdt.addMonthsUTC(months);
return gdt.getDate();
},
type: 'CLCatalogItemUtilAJAX'
});
2. Create OnChange Client Script on the variable Month
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading) {
return;
}
if (newValue === '') {
g_form.clearValue('end_date_of_loan'); //replace your variable name
}
var ga = new GlideAjax('CLCatalogItemUtilAJAX');
ga.addParam('sysparm_name', 'getEndDateOfLoan');
ga.addParam('sysparm_start_date', g_form.getValue('start_date_of_loan')); //replace your variable name
ga.addParam('sysparm_months', newValue);
ga.getXMLAnswer(function(response) {
if(response){
g_form.setValue('end_date_of_loan', response); //replace your variable name
}
});
}
Let me know if it works for you.
Cheers,
Tai Vu