- A
The script uses 'gs.now()' which returns a date-time string, but 'u_last_calibration_date' is a date field, causing a type mismatch and silent failure.
Why wrong: ServiceNow automatically converts date-time strings to date when assigning to a date field. This is not the cause.
- B
The business rule is set to run 'before' query instead of 'before' update or 'after' update.
A 'before' query rule runs when the record is retrieved from the database, not when it is updated. For the logic to execute on update, the rule should be set to 'before' update or 'after' update.
- C
The user executing the update does not have the 'medical_device_admin' role, and the business rule lacks an ACL check.
Why wrong: While role-based access is required, the business rule itself does not enforce roles; ACLs would. The rule should fire regardless of role, but the status change might be blocked by an ACL. However, the question states the rule is not firing correctly, implying the script doesn't run.
- D
The condition 'current.status.changes() && current.status == 'Maintenance'' is invalid because 'changes()' returns a boolean and cannot be combined with '=='.
Why wrong: The condition is valid. 'changes()' returns true if the field has changed, and '==' compares the new value. This is a common pattern.
Quick Answer
The answer is that the business rule is configured to run on the "before query" phase instead of the "before update" or "after update" phase. The "before query" phase fires only when a record is retrieved from the database, not when it is updated, so the script that sets the calibration date and creates the maintenance log never executes during the status change. For the ServiceNow Certified Application Developer CAD exam, this tests your understanding of business rule phases and their specific triggers—a common trap is confusing "before query" with "before update," as both involve modifying the current record but at entirely different points in the lifecycle. The correct business rule phase for update logic requires either "before update" to set field values or "after update" to create related records, ensuring the script runs when the record is saved. Remember the mnemonic: "Query is for reading, Update is for writing"—if you need to change data on save, never use the query phase.
SNOW-CAD Creating and customizing tables and data Practice Question
This SNOW-CAD practice question tests your understanding of creating and customizing tables and data. Examine the command output carefully: the correct answer depends on what the output actually shows, not on general recall alone. After answering, compare your reasoning against the explanation and wrong-answer breakdown below. Once you have made your selection, read the full explanation to reinforce the concept and understand why each distractor is designed to mislead on exam day.
You are a ServiceNow developer at a large healthcare organization. You have created a custom table 'u_medical_device' to track medical equipment. The table has fields: 'u_device_id' (string), 'u_device_type' (choice: 'Monitor', 'Ventilator', 'Pump'), 'u_location' (reference to 'u_location' table), 'u_status' (choice: 'Active', 'Inactive', 'Maintenance'), and 'u_last_calibration_date' (date). You need to implement a business rule that, when a device's status is changed to 'Maintenance', automatically sets the 'u_last_calibration_date' to the current date and creates a 'u_maintenance_log' record with a reference to the device. Additionally, you want to ensure that only users with the 'medical_device_admin' role can change the status to 'Maintenance'. You have written the business rule but it is not firing correctly. The sys_script table shows the rule is active, order 100, when 'before' query and 'after' update. The condition is: current.status.changes() && current.status == 'Maintenance'. The script sets current.u_last_calibration_date = gs.now(); and creates a GlideRecord for u_maintenance_log. However, the calibration date is not updated, and no log record is created. What is the most likely cause?
Clue words in this question
Noticing these words before you look at the options changes how you read each choice.
Clue:
"most likely"Why it matters: Probability qualifier — the question wants the most probable cause or outcome, not a guaranteed one. Eliminate low-probability options.
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
The business rule is set to run 'before' query instead of 'before' update or 'after' update.
The business rule is configured to run 'before query' and 'after update'. The 'before query' phase fires when a record is retrieved, not when it is updated. Since the script modifies the current record and creates a new record, it must run during an update operation. The correct phases for this logic are 'before update' (to set the date) and 'after update' (to create the log), or a single 'after update' phase. The 'before query' phase prevents the script from executing during the update, causing the calibration date and log record to not be updated or created.
Key principle: Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.
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 script uses 'gs.now()' which returns a date-time string, but 'u_last_calibration_date' is a date field, causing a type mismatch and silent failure.
Why it's wrong here
ServiceNow automatically converts date-time strings to date when assigning to a date field. This is not the cause.
- ✓
The business rule is set to run 'before' query instead of 'before' update or 'after' update.
Why this is correct
A 'before' query rule runs when the record is retrieved from the database, not when it is updated. For the logic to execute on update, the rule should be set to 'before' update or 'after' update.
Clue confirmation
The clue word "most likely" in the question point toward this answer.
Related concept
Read the scenario before looking for a memorised answer.
- ✗
The user executing the update does not have the 'medical_device_admin' role, and the business rule lacks an ACL check.
Why it's wrong here
While role-based access is required, the business rule itself does not enforce roles; ACLs would. The rule should fire regardless of role, but the status change might be blocked by an ACL. However, the question states the rule is not firing correctly, implying the script doesn't run.
- ✗
The condition 'current.status.changes() && current.status == 'Maintenance'' is invalid because 'changes()' returns a boolean and cannot be combined with '=='.
Why it's wrong here
The condition is valid. 'changes()' returns true if the field has changed, and '==' compares the new value. This is a common pattern.
Common exam traps
Common exam trap: answer the scenario, not the keyword
ServiceNow often tests the distinction between business rule phases, especially the 'before query' phase, which is frequently misunderstood as a phase that runs before any database operation, when in fact it only runs during record retrieval.
Detailed technical explanation
How to think about this question
Business rules in ServiceNow have specific phases: 'before query', 'before insert', 'before update', 'after insert', 'after update', 'before delete', and 'after delete'. The 'before query' phase runs when a record is being retrieved from the database (e.g., during a list view or a GlideRecord query), not during an update. For update operations, the 'before update' phase allows you to modify fields on the current record before it is saved, while the 'after update' phase is used for side effects like creating related records. A common mistake is confusing 'before query' with 'before update', leading to scripts that never execute during updates.
KKey Concepts to Remember
- Read the scenario before looking for a memorised answer.
- Find the constraint that changes the correct option.
- Eliminate answers that are true in general but not in this case.
TExam Day Tips
- Watch for words such as best, first, most likely and least administrative effort.
- Review why wrong options are wrong, not only why the correct option is correct.
Key takeaway
Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.
Real-world example
How this comes up in practice
A security administrator must allow nursing staff to reach a patient records server while blocking access from the guest Wi-Fi VLAN. After applying an extended ACL, traffic is still blocked from nursing workstations. The ACL was applied outbound instead of inbound on the wrong interface. Questions like this test ACL direction and placement rules.
What to study next
Got this wrong? Here's your next step.
Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.
- →
Creating and customizing tables and data — study guide chapter
Learn the concepts, then practise the questions
- →
Creating and customizing tables and data practice questions
Targeted practice on this topic area only
- →
All SNOW-CAD questions
500 questions across all exam domains
- →
ServiceNow Certified Application Developer CAD study guide
Full concept coverage aligned to exam objectives
- →
SNOW-CAD practice test guide
How to use practice tests most effectively before exam day
Related practice questions
Related SNOW-CAD practice-question pages
Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.
Working with Data practice questions
Practise SNOW-CAD questions linked to Working with Data.
Platform Features and Integration practice questions
Practise SNOW-CAD questions linked to Platform Features and Integration.
Integrating and managing application data practice questions
Practise SNOW-CAD questions linked to Integrating and managing application data.
Automating application logic with business rules and scripts practice questions
Practise SNOW-CAD questions linked to Automating application logic with business rules and scripts.
Application development using ServiceNow Studio practice questions
Practise SNOW-CAD questions linked to Application development using ServiceNow Studio.
Creating and customizing tables and data practice questions
Practise SNOW-CAD questions linked to Creating and customizing tables and data.
Designing interfaces and user experiences practice questions
Practise SNOW-CAD questions linked to Designing interfaces and user experiences.
Core Application Development practice questions
Practise SNOW-CAD questions linked to Core Application Development.
User Interface Development practice questions
Practise SNOW-CAD questions linked to User Interface Development.
SNOW-CAD fundamentals practice questions
Practise SNOW-CAD questions linked to SNOW-CAD fundamentals.
SNOW-CAD scenario practice questions
Practise SNOW-CAD questions linked to SNOW-CAD scenario.
SNOW-CAD troubleshooting practice questions
Practise SNOW-CAD questions linked to SNOW-CAD troubleshooting.
Practice this exam
Start a free SNOW-CAD practice session
Short sessions build daily habit. Longer sessions build exam-day stamina. Try a timed session to simulate real conditions.
FAQ
Questions learners often ask
What does this SNOW-CAD question test?
Creating and customizing tables and data — This question tests Creating and customizing tables and data — Read the scenario before looking for a memorised answer..
What is the correct answer to this question?
The correct answer is: The business rule is set to run 'before' query instead of 'before' update or 'after' update. — The business rule is configured to run 'before query' and 'after update'. The 'before query' phase fires when a record is retrieved, not when it is updated. Since the script modifies the current record and creates a new record, it must run during an update operation. The correct phases for this logic are 'before update' (to set the date) and 'after update' (to create the log), or a single 'after update' phase. The 'before query' phase prevents the script from executing during the update, causing the calibration date and log record to not be updated or created.
What should I do if I get this SNOW-CAD question wrong?
Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.
Are there clue words in this question I should notice?
Yes — watch for: "most likely". Probability qualifier — the question wants the most probable cause or outcome, not a guaranteed one. Eliminate low-probability options.
What is the key concept behind this question?
Read the scenario before looking for a memorised answer.
About these practice questions
Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. Learn why practice questions differ from exam dumps →
Last reviewed: Jun 30, 2026
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.
Question Discussion
Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.
Sign in to join the discussion.