Prerna Goyal
ServiceNow Employee
ServiceNow Employee

Here are the following issues you might face: 

  • The survey responses or results are not being saved — In asmt_assessment_instance_question, the string value or value is not present or in asmt_metric_result, the actual response is not stored in the metric result table. Instead, it is always showing value as -1 or N/A. 
  • 'View User's Response’ on asmt_assessment_instance record does not show the user's response to Survey questions. 
  • You come back to a survey or assessment to modify earlier saved responses and you find the responses are not saved. 

Here is how you can debug the issues: 

  1. Check if the issue is specific to a survey or a survey which is in a scoped application. To check that, try creating a simple survey (with a string type question) in Global scope.
  2. Now assign the survey and try submitting or saving the responses.
  3. Open the Assessment Instance in the related list of survey definition. On its related record you can see if the Assessment Instance Question got populated or click on 'View User's Response’ andcheck if the results are populated correctly. 
  4. To verify further, create a new survey (with same configuration as the earlier one) in that scoped application.
  5. Try submitting/saving the response. You will see results are not saved.
  6. You can also try running the following background script:
var gr = new GlideRecord('asmt_assessment_instance_question'); 
gr.addQuery('sys_id', <sys_id of asmt_assessment_instance_question  for which value/string_value is not populated>); 
gr.query(); 
if (gr.next()) { 
gr.string_value = 'test'; 
gr.update(); 
}
else { 
gs.info("testing"); 
} 

If you see that the asmt_assessment_instance_question record is not updated with the string_value (‘test’ in this case) and the below error is observed after running the script, then it’s a scope specific issue: 

Error

Source descriptor is empty while recording access for scope xxxx: no thrown error 

Security restricted: Read operation on scope ‘xxxx’ from scope 'Global' was denied because the source could not be found. Please contact the application admin. 

Cause 

This is a cross scope issue. This happens because from Global scope, a script in UI page (assessment_take2) tries to update the survey’s question instances in scoped application. As the script does not have read access to record in scoped app, it fails to update the survey responses.

Resolution 

Create a Restricted Caller Access Privilege by following these steps: 

a) Navigate to System Applications > Application Restricted Access / [sys_restricted_caller_access]

b) Click the New button and then add the following information:

Source Scope = Global 

Source Type = Scope 

Status = Allowed 

Target Scope = (mention scoped app name e.g., ‘xxxx’ in the above case) 

Target Type = Scope  

This should fix the issue mentioned issue. 

Comments
Rameshwar Bera3
Tera Contributor

@Prerna Goyal 

Hello I am facing the same issue above. Sometimes user responses are not stored in the "asmt_assessment_instance_question" table. As per given above resolution this RCA is already available and it is in the allowed state. When I Run Script In Background then I am able to see the same error message. If RCA is already available in the is there any workaround to resolve this issue? 

 

Thanks in advance..!!

Version history
Last update:
‎01-17-2022 07:04 AM
Updated by: