Getting error 'Action not authorized ' in UI ACTION

srinivasboppana
Kilo Expert

I have a requirement for 'Create ITAM Record' UI action.

action name: create_new_itam_record

condition: gs.hasRole('itil') && current.cmdb_ci=='' && current.state!='3'

onclick: checkFields()

script :

function checkFields(){

  var req_for=g_form.getValue('u_requested_for');

  var unlisted_sap_fund_number=g_form.getValue('u_unlisted_sap_fund_number');

  var billing_contact=g_form.getValue('u_billing_contact');

  var sap_fund=g_form.getValue('u_sap_fund');

  var sysId=g_form.getUniqueValue();

  var check_fund=g_form.getValue('u_fund_number_not_listed');

  if(check_fund!='true'){

  if(req_for=='' || sap_fund=='' || billing_contact==''){

  $('sys_display.u_it_webex_request.u_sap_fund').style.background='#ffe0b2';

  g_form.setMandatory('u_requested_for',true);

  g_form.setMandatory('u_billing_contact',true);

  g_form.setMandatory('u_sap_fund',true);

  }else{createITAM(sysId,req_for,billing_contact);}

  }else{

  if(req_for=='' || unlisted_sap_fund_number=='' || billing_contact==''){

  $('u_it_webex_request.u_unlisted_sap_fund_number').style.background='#ffe0b2';

  g_form.setMandatory('u_requested_for',true);

  g_form.setMandatory('u_billing_contact',true);

  g_form.setMandatory('u_unlisted_sap_fund_number',true);

  }else{createITAM(sysId,req_for,billing_contact);}

  }

  //gsftSubmit(null, g_form.getFormElement(), 'create_itam_rec');

}

function createITAM(sysId,req_for,billing_contact){

  var asset=g_form.getReference('u_requested_for');

  var str='webex-'+asset.user_name;

  var gr=new GlideRecord('u_cmdb_ci_webex');

  gr.addQuery('asset_tag',str);

  gr.query();

  if(gr.next()){

  g_form.hideErrorBox("cmdb_ci");

  g_form.showFieldMsg('cmdb_ci',str+' already exists, please review.','error');

  return false;

  }else{

  //new record creation on ITAM

  gr.initialize();

  gr.owned_by=billing_contact;

  gr.asset_tag=str;

  gr.u_used_by=req_for;

  gr.department=g_form.getReference('u_billing_contact').department;

  gr.u_sap_fund_number=g_form.getReference('u_sap_fund').account_number;

  gr.short_description='Created from WebEx Request '+g_form.getValue('number');

  var id=gr.insert();

  var gr_webex=new GlideRecord('u_it_webex_request');

  gr_webex.get(sysId);

  gr_webex.cmdb_ci=id;

  gr_webex.u_requested_for=req_for;

  gr_webex.update();

  gsftSubmit(null, g_form.getFormElement(), 'create_new_itam_record');

  }

}

if (typeof window == 'undefined') {

  reloadForm();

}

function reloadForm() {//this function will be run server side

action.setRedirectURL(current);

}

record is created but getting above error.

please help.

1 ACCEPTED SOLUTION

Hi Mike Allen,


I already checked Action Name its not a problem.


problem happens because of condition if i remove current.cmdb_ci=='' working fine.


View solution in original post

5 REPLIES 5

Pradeep Sharma
ServiceNow Employee
ServiceNow Employee

Hi Srinivas,



I've responded to the similar issue here.


"Action not authorized"



I hope this answers your question.