A script on first load indicates that a function is not found (see below error), but on refresh it executes successfully
CA Service Catalog 17.x
This may be a timing issue.
While it may not always solve the problem this can sometimes be solved by setting the scope and then switching to that scope.
Couple of examples:
Example #1onLoadFormCommon : function(){ departmentcostcenterhidden = false; var scope = ca_fd.fdScope; var formid = ca_fd.formId; setTimeout( function(){ ca_fd.switchFdScope(scope,formid); ca_fd.js.requestedForType(); ca_fd.js.chargeAreaType(); },1000); },
Example #2
var scope = ca_fd.fdScope;var id = ca_fd.formId;ca_reportQuery('get-user-supervisor', { 'userid': for_user }, function (rows) { ca_fd.switchFdScope(scope,id);ca_fd.js.setSupervisorFromQuery(rows, ca_fd.formId) }, null);
Another possible solution is to add a timeout to the JS code - How to Set a Timer in JavaScript