SNOW-CAD Creating and customizing tables and data Practice Question
A large enterprise manages its IT assets using a custom table 'u_asset_tracking', which includes a reference field 'u_location' pointing to the 'cmn_location' table. After a recent application upgrade, users report that the location is not being displayed for assets older than six months, although it works for newer assets. A client script uses GlideAjax to fetch the location via a Script Include called 'AssetUtils'. The Script Include performs a GlideRecord query on 'u_asset_tracking' and then dot-walks to 'u_location.sys_id' to retrieve the location name. The upgrade included changes to the application's access controls. The logs show no errors, but the Ajax call returns null for the location. What should the developer do to resolve this issue?
⚠ Common exam trap
A common mix-up: candidates assume the issue is with the query logic or data integrity (options A or D) rather than recognizing that a silent ACL failure on a dot-walked table is a common post-upgrade problem, especially when no errors appear in logs.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Ensure the 'read' role on the 'cmn_location' table is granted to the application's scope or the user's role.
The issue is that after the upgrade, access controls (ACLs) were changed, and the Script Include's GlideRecord query dot-walks to 'cmn_location' to retrieve the location name. Even though the query on 'u_asset_tracking' succeeds, the dot-walk to 'cmn_location' fails silently because the script's execution context (or the user's session) lacks the 'read' role on the 'cmn_location' table. Granting the 'read' role ensures the GlideRecord can access the referenced record, resolving the null return.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Modify the Script Include to use addNullQuery('u_location') to skip empty location fields.
Why it's wrong here
The issue is not that the field is empty but that the script cannot read the referenced record; this change would not help.
- ✓
Ensure the 'read' role on the 'cmn_location' table is granted to the application's scope or the user's role.
Why this is correct
The upgrade likely changed ACLs; granting read access to 'cmn_location' for the appropriate scope or role resolves the null returns.
- ✗
Change the client script to use a UI Policy instead of GlideAjax to handle the location display.
Why it's wrong here
UI Policies cannot perform server-side queries or fetch data from referenced tables via Ajax; they only modify form behavior based on client conditions.
- ✗
Write a fix script to update the 'u_location' field for all assets older than six months.
Why it's wrong here
This only addresses the symptom for existing records but does not fix the underlying access issue that affects future queries.
Visual reference
Go deeper
Related to this question
About these practice questions
One of 481 original SNOW-CAD practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This SNOW-CAD practice question is part of Courseiva's free ServiceNow certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the SNOW-CAD exam.