The answer is that the script fails because it attempts to access catalog variable values directly via current.variables.ci in an after business rule, which is not supported on the sc_req_item table. In ServiceNow, variable values from a catalog item are stored in the sc_item_option table and linked to the requested item through the requested_for relationship, so a GlideRecord query on sc_item_option using the requested item’s sys_id is required to retrieve the CI’s sys_id. This concept is a common trap on the CSA exam, testing your understanding of how business rules interact with catalog variables and the underlying database schema. The exam often presents a scenario where an after business rule fails to update a record, and the correct fix involves querying sc_item_option rather than relying on the variables dot-walking shortcut. Remember the memory tip: “After rules can’t walk variables—query sc_item_option for the variables.”
SNOW-CSA Service Catalog and Workflows Practice Question
This SNOW-CSA practice question tests your understanding of service catalog and workflows. 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.
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?
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.
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]
A
The condition 'current.state.changesTo(3)' is incorrect; it should check if the state is already 3.
Why wrong: Incorrect: changesTo() is a valid condition that triggers when the state changes to the specified value.
B
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.
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.
C
The reference variable 'ci' is not storing the sys_id of the CI; it stores the display value.
Why wrong: Incorrect: Reference variables store the sys_id, not the display value.
D
The business rule runs 'Before' instead of 'After', so the state hasn't changed yet.
Why wrong: Incorrect: The rule is configured to run 'After', not 'Before'.
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.
Option B is correct because 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.
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 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.
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 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'.
Common exam traps
Common exam trap: answer the scenario, not the keyword
The trap here is that candidates 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.
Detailed technical explanation
How to think about this question
Catalog item variables are stored in the sc_item_option table, with each variable instance linked to the requested item via the sc_item_option_mtom table. In an 'after' business rule on sc_req_item, the variable values are not populated in the current.variables object because that object is only available in client-side scripts or specific server-side contexts like Catalog Client Scripts. To access variable values in a business rule, you must query sc_item_option where requested_for = current.sys_id and variable_name = 'ci', then use the value field which contains the sys_id of the CI.
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 practitioner preparing for the SNOW-CSA exam encounters this exact type of scenario on the job. The correct answer here is not the most general option — it is the best answer for the specific constraint described. Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option. Real exam questions reward reading the full scenario before eliminating options, because the constraint defines which answer fits.
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.
Service Catalog and Workflows — This question tests Service Catalog and Workflows — Read the scenario before looking for a memorised answer..
What is the correct answer to this question?
The correct answer is: 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. — Option B is correct because 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.
What should I do if I get this SNOW-CSA 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 →
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.
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.
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.