Courseiva
Service Catalog and WorkflowshardMultiple ChoiceObjective-mapped

SNOW-CSA Service Catalog and Workflows Practice Question

Exhibit

Refer to the exhibit.

Business Rule: 'Update CI Status'
Table: Requested Item [sc_req_item]
When: After
Condition: current.state.changesTo(3) // 'Closed Complete'
Script:
gr = new GlideRecord('cmdb_ci');
gr.get(current.variables.ci);
gr.setValue('operational_status', 1); // In Production
gr.update();

Catalog Item Variable 'ci':
Type: Reference
Reference table: Configuration Item [cmdb_ci]

Refer to the exhibit. A ServiceNow administrator created a catalog item that allows users to select a CI via a reference variable named 'ci'. The business rule shown is supposed to update the CI's operational status to 'In Production' when the requested item is closed complete. However, the CI status is not being updated. What is the most likely cause?

⚠ Common exam trap

Test-takers frequently assume current.variables.ci works in all server-side scripts, but ServiceNow restricts direct variable access to catalog client scripts and workflows, not business rules on the requested item table.

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 script does not properly retrieve the CI record because current.variables.ci returns the sys_id but may not be accessible directly in an after business rule without using the sc_item_option table.

In an 'after' business rule on the Requested Item (sc_req_item) table, the variable values from the catalog item are not directly accessible via current.variables.ci. Instead, they are stored in the sc_item_option table and must be retrieved using a GlideRecord query on sc_item_option joined to the requested item's sys_id. The script attempts to use current.variables.ci, which does not resolve to the CI's sys_id in this context, causing the update to fail.

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 condition 'current.state.changesTo(3)' is incorrect; it should check if the state is already 3.

    Why it's wrong here

    Incorrect: changesTo() is a valid condition that triggers when the state changes to the specified value.

  • The script does not properly retrieve the CI record because current.variables.ci returns the sys_id but may not be accessible directly in an after business rule without using the sc_item_option table.

    Why this is correct

    Correct: Variable values are stored in the sc_item_option table and may not be directly accessible via current.variables in an after business rule. The script should use a GlideRecord query on sc_item_option.

  • The reference variable 'ci' is not storing the sys_id of the CI; it stores the display value.

    Why it's wrong here

    Incorrect: Reference variables store the sys_id, not the display value.

  • The business rule runs 'Before' instead of 'After', so the state hasn't changed yet.

    Why it's wrong here

    Incorrect: The rule is configured to run 'After', not 'Before'.

Visual reference

Client Recursive Resolver Root DNS (13 root servers) TLD DNS (.com, .org, …) Authoritative example.com query IP addr answer

About these practice questions

This SNOW-CSA question is part of Courseiva's 504-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam 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-CSA 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-CSA exam.