SNOW-CAD Core Application Development Practice Question
A company uses a custom application with a table 'incident_task' to track work on incidents. The requirement is to automatically reassign any incident_task that has not been updated in the last 7 days to a specific 'Escalation' group. A developer writes a Business Rule on the 'incident_task' table with the condition 'Current' table and runs on 'before query'. The script checks if (gs.daysAgo(current.sys_updated_on) >= 7) and then performs a current.assignment_group.setValue('escalation_group_sys_id'), followed by current.update(). After testing, the tasks are not being reassigned. What is the most likely cause of this issue?
⚠ Common exam trap
Watch out — candidates often think any business rule can update the current record, but ServiceNow explicitly restricts before query rules to read-only operations, and the exam tests this specific constraint.
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
✓
Before query business rules cannot perform updates; they are read-only.
Before query business rules in ServiceNow are executed during the retrieval of records from the database, and they are strictly read-only. They cannot perform updates, inserts, or deletes because the database operation is not yet complete. Attempting to call current.update() within a before query business rule will be ignored or cause an error, which is why the reassignment never occurs.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
The business rule should be changed to 'after' update.
Why it's wrong here
An after update business rule would run on update, but the requirement is to check inactivity, not on update.
- ✓
Before query business rules cannot perform updates; they are read-only.
Why this is correct
Before query business rules are designed for read operations and any attempt to update will be ignored.
- ✗
The condition should use 'sys_updated_on' instead of 'sys_updated_on' (the same field).
Why it's wrong here
The field is correctly referenced; this is not the issue.
- ✗
The script uses current.update() which causes recursion.
Why it's wrong here
Recursion is possible, but the primary issue is that before query does not allow updates at all.
Go deeper
Related to this question
About these practice questions
Courseiva writes every SNOW-CAD question from scratch — 481 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. 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.