Service Catalog Stages
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-10-2015 12:54 PM
Would someone please explain the how & when stages are setup and used in service catalogs? We have the stage field in our REQ, RITM, TASK, but nothing is every in the field, and I'm new to this, trying to figure it out. Thanks in advance
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-10-2015 03:15 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-10-2015 06:08 PM
Hi Linda,
Definitely check out that wiki page Mani posted. I typically recommend stages for Requested Items (RITMs) since you can control those from the workflow per item.
Think of it like shopping on Amazon and tracking your package. Each item in your order is sent separately and has separate tracking and fulfillment information. The request (REQ) and tasks (TASK) are better managed by states instead of stages.
It's also important to know that each catalog item workflow should conclude with the stage "Complete". There's an out of the box script that updates the RITMs state to closed when the stage reaches Complete.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-10-2015 11:55 PM
I don't think this is correct. There is no "closed" state for Requested Items, there is only "Closed Complete", "Closed Incomplete" and "Closed Skipped". Setting the Stage to Complete does not change the state as far as I know.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-11-2015 07:21 AM
Hi Julian,
check out the business rule "Set Active Flag" on the requested item table. I thought that's what it was doing... Let me know. You are right about "Closed complete" rather than closed, an oversight on my reply.
Condition:
current.stage.changes() && (current.stage=="complete" || current.stage=="Request Cancelled")
Script:
current.active = false;
// If we started a workflow for this item, cancel it
if ((current.stage == 'Request Cancelled') && current.context && !current.context.nil()) {
var w = new Workflow();
var gr = new GlideRecord('wf_context');
if (gr.get(current.context))
w.cancelContext(gr);
}