Populate String Variable Dynamically Based on Requested For in Custom Table

vikasverma1
Tera Contributor

Hi All,

I have a catalog item where, when a user raises a request, I need to check if the “Requested for” user exists in a custom table.
If they do, I want to populate the requester’s name into a string variable on the catalog item.

 

Requirement

  • On catalog item load (or when “Requested for” changes), check the custom table.
  • If the Requested for user exists for the specific catalog item, populate a string variable (e.g., u_requester_name) with the requester’s display name.
  • Otherwise, leave it blank (or show a message)

 

What I tried

Script Include: - 
 

var ServiceCopilotAjaxUtils = Class.create();
ServiceCopilotAjaxUtils.prototype = Object.extendsObject(AbstractAjaxProcessor, {
  getRequest: function(requester){
    var gr = new GlideRecord('u_envalior_request_mapping');
    gr.addEncodedQuery('u_catalog_item=Request Trial Copilot License^u_requestor='+requester);
    gr.query();
    if(gr.next()){
      return true;
    }
    return false;
  },
  type: 'ServiceCopilotAjaxUtils'
});
 
  • Default value of the string variable:-  javascript: new global.ServiceCopilotAjaxUtils().getRequest(gs.getUserID());

Issue faced

  • The requester name is not populating in the string variable.

 

Any suggestions or examples would be highly appreciated.

 

Thanks in advance!