User GlideAjax
Native View Code
function checkMandatoryFields() {
if (g_form.getValue('doa_type') == '' || g_form.getValue('doa_level') == '') {
g_form.setMandatory('doa_type', true);
g_form.setMandatory('doa_level', true);
g_form.addErrorMessage("Doa Type and Doa Level fields are Mandatory");
return false; //Abort submission
}
//Call the UI Action and skip the 'onclick' function
gsftSubmit(null, g_form.getFormElement(), 'add_doa_approvals'); //MUST call the 'Action name' set in this UI Action
} //Code that runs without 'onclick'
//Ensure call to server-side function with no browser errors
if (typeof window == 'undefined')
addApprovals(); //Server-side function
function addApprovals() {
current.update();
try {
var inputs = {};
inputs['irs'] = current;
var result = sn_fd.FlowAPI.getRunner().subflow('x_edc_irs.irs_approval').inForeground().withInputs(inputs).run();
var outputs = result.getOutputs();
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
action.setRedirectURL(current);
}
Workspace Code
function onClick(g_form) {
if (g_form.getValue('doa_type') == '' || g_form.getValue('doa_level') == '') {
g_form.setMandatory('doa_type', true);
g_form.setMandatory('doa_level', true);
g_form.addErrorMessage("Doa Type and Doa Level fields are Mandatory");
return false; //Abort submission
} else {
var usrInfo = new GlideAjax('x_edc_irs.ISRApprovals');
usrInfo.addParam('sysparm_name', 'addApprovals');
usrInfo.addParam('sysparm_user', g_form.getValue("number"));
usrInfo.getXML(getBase);
function getBase(response) {
g_form.save();
}
}
}
Script Include Name: x_edc_irs.ISRApprovals
var ISRApprovals = Class.create();
ISRApprovals.prototype = Object.extendsObject(global.AbstractAjaxProcessor, {
addApprovals: function() {
var gr = new GlideRecord("x_edc_irs_case");
gr.addQuery("number", this.getParameter("sysparm_user"));
gr.query();
if(gr.next())
{
try {
var inputs = {};
inputs['irs'] = gr;
var result = sn_fd.FlowAPI.getRunner().subflow('x_edc_irs.irs_approval').inForeground().withInputs(inputs).run();
var outputs = result.getOutputs();
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
}
},
type: 'ISRApprovals'
});
How to use gsftSubmit on Workspace ServiceNow
Working Code Asked question February 5, 2025
Sorry, you do not have permission to read comments.