GlideController functionality in Scoped app
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-19-2021 09:30 AM
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;
},
- Labels:
-
Scoped App Development

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-19-2021 10:51 AM
Hi Daniel,
This code seems a little odd to me. I assume by the trailing comma right at the end that it's in use within a Script Include? If that's the case then you could try refactoring your code a little to something like this.
var MyClass = Class.create();
MyClass.prototype = {
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: ',
},
initialize: function() {
},
_errorHandle: function(status, messageAddOn, calledFunction){
var message = '';
var errorConstant = 'ERROR' + status;
var errorMessageFound = this.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;
},
type: 'MyClass'
};
If my answer is correct / helpful, please remember to mark it as such so that others can see the information as easily as possible.
Callum
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-19-2021 10:56 AM
try with GlideScopedEvaluator
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: ';
_errorHandle: function(status,messageAddOn,calledFunction){
var message = '';
var getErrorMessage = new GlideScopedEvaluator();
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;
},

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-19-2021 11:03 AM
GlideScopedEvaluator does not have a method called evaluateString! There is also no need to be evaluating strings as scripts...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-19-2021 11:08 AM
you are right