trying to create a record using UI Page but its not working
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ā02-24-2025 08:59 AM
I have created a custom table u_change_contractor_manager
Inside this there are fields
u_contractor_name, u_new_manager , u_status , u_requested_by, u_appproval_status (appproval is like this- i know wrong spellings)
I am trying to fetch the 2 values from ui page and putting them on table . i need only these 2 values u_contractor_name, u_new_manager, so i am taking help of glide ajax.
HTML SECTION
Client Script Section
Script include
What could be the problem that record is not inserted, Also earlier i was having error userID is null then it corrected.
UI PAGE FIELDS
1) CONTRACTOR NAME : AUTOPOPULATED USING GS.GETDISPLAY VALUE
2) NEW MANAGER : REFERENCE FIELD TO USER TABLE
these are successfully set on the ui page still unable to get passed to the server
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ā02-24-2025 02:35 PM
Hi,
Use getXMLAnswer()
extracts the actual return value from the Script Include
ga.getXMLAnswer(function(response) {
console.log("Server Response:", response);
if (response === "success") {
alert("Manager change request submitted. Waiting for approval.");
location.reload();
} else {
alert("Failed: " + response);
}
});
Ensure the parameter names start with sysparm_
to be correctly parsed in the Script Include:
ga.addParam('sysparm_name', 'createRequest'); ga.addParam('sysparm_contractor', contractorSysId); ga.addParam('sysparm_newManager', newManagerSysId);
please try with below script include:
var ChangeContractorManagerHandler = Class.create();
ChangeContractorManagerHandler.prototype = {
initialize: function() {},
createRequest: function() {
var contractor = this.getParameter('sysparm_contractor');
var newManager = this.getParameter('sysparm_newManager');
if (!contractor || !newManager) {
gs.error("Missing required parameters");
return "Error: Missing required parameters";
}
var gr = new GlideRecord('u_change_contractor_manager');
gr.initialize();
gr.u_contractor_name = contractor;
gr.u_new_manager = newManager;
gr.u_status = 'Pending';
gr.u_requested_by = gs.getUserID();
gr.u_appproval_status = 'Pending Approval';
var budgetOwner = this.getBudgetOwner(contractor);
if (budgetOwner) {
gr.u_budget_owner = budgetOwner;
} else {
gs.error("Budget owner not found for contractor: " + contractor);
return "Error: Budget owner could not be found.";
}
var sysId = gr.insert();
if (sysId) {
gs.info("Request created: " + sysId);
return "success";
} else {
gs.error("Failed to create request for contractor: " + contractor);
return "Error: Failed to create the request.";
}
},
getBudgetOwner: function(contractorID) {
var userGR = new GlideRecord('sys_user');
if (userGR.get(contractorID)) {
return userGR.u_budget_owner.sys_id || null;
} else {
gs.error("Contractor not found: " + contractorID);
return null;
}
},
type: 'ChangeContractorManagerHandler'
};
If you believe the solution provided has adequately addressed your query, could you please **mark it as 'Helpful'** and **'Accept it as a Solution'**? This will help other community members who might have the same question find the answer more easily.
Thank you for your consideration.
Selva Arun