Courseiva
Working with DatahardMultiple ChoiceObjective-mapped

SNOW-CAD Working with Data Practice Question

Exhibit

if (!gr.isNewRecord()) {
  gr.setAbortAction(true);
  gs.addErrorMessage('Update not allowed');
}

Refer to the exhibit. This script is placed in a business rule on the 'incident' table with the 'When to run' set to 'before' and 'Update' action. The incident table has an ACL that also prevents updates. The business rule runs and shows the error message but the record is still updated. What is the most likely cause?

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 condition is not met for this specific record.

The business rule condition is not met for this specific record. In a 'before' business rule, the script runs before the database operation. The setAbortAction(true) method should prevent the update. However, if the condition defined in the business rule (or a condition within the script) is not satisfied, the setAbortAction may not be called, allowing the update to proceed. The error message shown may come from a different part of the script (e.g., gs.addErrorMessage) that runs regardless, but the abort action is conditional. Option B is incorrect because setAbortAction works on existing records, not new ones; the exhibit likely shows an update. Option C is incorrect because ACLs do not override setAbortAction; setAbortAction is a server-side abort that prevents the database operation. Option D is incorrect because 'after' business rules cannot abort the operation; 'before' is correct for aborting.

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 condition is not met for this specific record.

    Why this is correct

    If the condition (e.g., advanced condition) is false, the script does not execute.

  • The setAbortAction method is being called on a new record.

    Why it's wrong here

    The check gr.isNewRecord() returns false for existing records, so it should abort.

  • The ACL is overriding the business rule's setAbortAction.

    Why it's wrong here

    ACL and business rules are separate; setAbortAction aborts regardless of ACL.

  • The business rule should be set to 'after' instead of 'before'.

    Why it's wrong here

    After business rules cannot abort the operation.

Visual reference

Source Router + ACL permit 10.0.0.0/8 deny any Server 10.0.0.5 ✓ 192.168.1.1 ✗ dropped ACLs evaluate top-down; first match wins — implicit deny all at end

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 →

How Courseiva writes practice questions · Editorial policy

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.