GlideController functionality in Scoped app

Daniel Peel
Mega Sage

Currently I have an error function in a script include... I'm using in global and I want to move this process into a scoped application... I'm using GlideController to take a passed status value 430, 431 etc and use it to lookup a constant.  This works fine... but how can I do this in a scoped app... the GlideScopedEvaluator() doesn't seem to work the same way.

 

Thanks

//this are constants at the top the SI
ERROR430/*old 415*/ = 'The following required fields are missing: ';
ERROR431/*old 416*/ = 'The following field has an incorrect value: ';
ERROR432/*old 417*/ = 'The following record was not found: ';
ERROR433/*old 419*/ = 'The following error occurred: ';


//this is the function that is called and uses those for standard output.
_errorHandle: function(status,messageAddOn,calledFunction){

var message = '';
var getErrorMessage = GlideController;
var errorConstant = 'ERROR' + status;
var errorMessageFound = getErrorMessage.evaluateString(errorConstant);

if (errorMessageFound){
message = errorMessageFound + messageAddOn;
}
else {
message = messageAddOn;
}
var cmxError = new sn_ws_err.ServiceError();
cmxError.setStatus(status);
cmxError.setMessage(message);
cmxError.setDetail("Failure in: " + calledFunction);
return cmxError;
},

 

15 REPLIES 15

Very interesting lol... not sure why it's giving me that error then 🙂 Paris instance, scoped and built in studio... tried in global and still got the same error using that setup 😞 

 

initialize: function() {
		STATIC_PROPERTIES = {
			'ERROR430':'The following required fields are missing: ',
			'ERROR431':'The following field has an incorrect value: ',
			'ERROR432':'The following record was not found: ',
			'ERROR433':'The following error occurred: ',
		},
			ERROR_FOUND = '';
	},

	_errorHandle: function(status,messageAddOn,calledFunction){

		var message = '';
		var errorConstant = 'ERROR' + status;
		var errorMessageFound = STATIC_PROPERTIES[errorConstant];

		if (errorMessageFound){
			message = errorMessageFound + messageAddOn;
		}
		else {
			message = messageAddOn;
		}
		var cmxError = new sn_ws_err.ServiceError();
		cmxError.setStatus(status);
		cmxError.setMessage(message);
		cmxError.setDetail("Failure in: " + calledFunction);
		return cmxError;
	},

 

this however did work... I hadn't thought of using the array.