Service Catalog Administration Guide
Service Catalog Administration Guide
Service Catalog Administration Guide
Administration Guide
PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information.
PDF generated at: Wed, 30 Jul 2014 17:21:50 PST
Setup
Multiple Catalogs
Overview
Administrators and catalog administrators can manage multiple service catalogs to provide services to different
teams within the organization, such as IT services, human resources, and facilities management.
End users can access multiple catalogs from a single homepage, can search across all catalogs, or can search directly
within each catalog.
Multiple catalogs are available starting with the Eureka release.
Define catalog details and content such as categories and catalog items.
Manage the catalog homepage details such as defining mobile layout.
[Optional] Create a navigation module for the new catalog.
[Optional] Add the catalog to the multi-catalogs home page.
Multiple Catalogs
4.
5.
6.
7.
Description
Title
Active
Description
'Continue shopping' The location to direct service catalog users to when they click the Continue Shopping button.
page
Background Color
The background color used for the catalog on the multi-catalog homepage.
Desktop image
The larger image to display with the catalog on the multi-catalog homepage. This is only shown if image display is included
in the renderer selected, such as the default Title and Image renderer.
To define a new catalog item for the catalog, click New and enter the details for the item.
Multiple Catalogs
4. Select Update.
The shared item then appears in the Catalog Items related list for each catalog selected.
Managing Categories
The Categories related list defines the categories available within the catalog. Categories cannot be shared; each
category can belong to only one catalog.
To define a new category, click New then enter the details for the category.
Multiple Catalogs
Note: The View field on a portal page is the value used when you refer to the homepage in a URL or module. When you upgrade to
the Eureka release, this view value for the default service catalog portal page is automatically set to catalog_default. If you
previously changed this value, you should manually reapply this change after upgrade.
The Catalog Portal Pages related list shows portal pages available for that catalog. Each catalog has a default page,
created automatically when the catalog is created, You can change which portal page is default for each catalog.
Click New to create a new portal page.
Click Edit to select an additional portal page for the catalog.
Select a portal page to view and edit details for that page.
See Upgrading to Multiple Service Catalogs for more information about the Catalog Portal Page
[sc_catalog_view_mtom] table.
See Homepage Administration for more information about managing portal pages.
For
example:
catalog_home.do?sysparm_catalog=742ce428d7211100f2d224837e61036d&sysparm_catalog_view=catalog_technical_catalog
Multiple Catalogs
If a URL has a valid sysparm_catalog parameter, but an invalid or missing sysparm_catalog_view parameter,
the view with the default value from the corresponding Catalog Portal Page record is used.
If a URL has a valid sysparm_catalog_view parameter, but an invalid or missing sysparm_catalog parameter,
the corresponding Catalog Portal Page record is used to set the catalog.
Both cases decrease performance, so to ensure peak performance, ensure you define both parameters correctly.
Multiple Catalogs
Description
CMS homepage
CMS 'Continue Shopping' page The location to direct end users to when they click the Continue Shopping button in that CMS site.
Note: These fields replace the system properties glide.sc.home.cms_page, glide.sc.search.cms_page, and
glide.sc.continue.shopping.target. These properties are deprecated starting with the Eureka release.
2. Select Add Catalogs at the top of the page to add catalogs to this page.
3. Select a catalog in the middle panel of the pop-up window.
Multiple Catalogs
4.
5.
6.
7.
Note: Only administrators can see catalogs that do not contain active categories or items.
[Optional] Select a renderer from the right-hand panel, for example Title Only.
Click Add here in the location where the catalog should appear on the homepage.
[Optional] Repeat steps 3-5 to add more catalogs.
Close the pop-up window to save the changes.
The catalogs appear on the homepage.
Homepage
Homepage
Overview
The homepage for a service catalog provides the primary front end for ordering items within that catalog.
Administrators and catalog administrators can design a homepage by:
Homepage
4.
5.
6.
7.
8.
9.
Click Add here in the location where the category should appear on the homepage.
[Optional] Repeat steps 3-4 to add more categories.
Close the pop-up window.
[Optional] To change a category's location, drag it to the appropriate place.
[Optional] To remove a category, click the X on the top right of the category header.
[Optional] Add a shopping cart on the page. For information, see Creating a Custom Shopping Cart.
Homepage
10
Homepage
11
Homepage
12
Categories
13
Categories
Overview
Categories organize service catalog items into logical groups. Categories can have a parent-child relationship, for
example, IT and Laptops. A child category is a subcategory of its parent category. Each catalog item, order guide,
record producer, content item, and subcategory appears as a single item within the category.
Administrators and catalog administrators can create and configure categories, defining their characteristics and
adding content such as catalog items to them.
Note: If there are no active items in a category's hierarchy, that category does not appear in (and cannot be added to) the catalog.
Users with the admin or catalog_admin roles can see all categories, regardless of the number of active items. Configure the
glide.sc.category.canview.override property to change this behavior.
Categories
14
Creating Categories
To create or edit a category:
1. Navigate to Service Catalog > Catalog Definition > Maintain Categories.
A list of existing categories appears. If the Parent field is blank, the category does not have a parent category.
2. Click New or select the category to edit.
Description
Title
Parent
Catalog
Active
A check box for indicating whether the category is available to add to the service catalog homepage.
Location
Header icon
The icon displayed beside the category header, when the category is a top-level category.
Icon
The small icon displayed beside the category name, when the category is listed as a subcategory.
Roles
Roles permitted to view this category. Leave the field blank, or use the role public, to allow access for all users.
Category-level access restrictions may be overridden by restrictions on the individual items within that category.
Description
Information about the category. The description appears when the category is collapsed on the service catalog homepage.
The description also appears in the Related Categories list when a user clicks the parent category title.
Homepage image
A larger image to display with the category on the service catalog homepage. This is visible only if the relevant renderer
defines it to be used (the default renderer does not display this).
Mobile Subcategory
Render Type
The rendering option to control how subcategories are displayed. Select List for a single-column list, or Cards for a
multi-column display. Available starting with the Dublin release.
Categories
15
Hide description
(mobile browsing)
Option for displaying the description at the top of the list on mobile devices. Available starting with the Dublin release.
Mobile Picture
A picture to use on mobile devices for this category. If a mobile image is not selected, the Homepage image appears if
the Mobile Subcategory Render Type is set to Cards. Available starting with the Dublin release.
When set to Yes, the item details appear as a pop-up when the cursor hovers
over the item icon.
Categories
16
Expanding to 1 item:
Categories
17
Field
Description
Type
Search how
long?
For catalog items only, the period during which to search for the most common requests. For example, enter 7 00:00:00 to display
the most commonly requested items in the previous seven days.
Number of
Entries
Note: The results displayed are limited to those items or knowledge articles available in the currently-viewed catalog.
18
Admin
Overview
Administrators and catalog administrators can control the options available to catalog managers and catalog editors
who use the catalog item designer. These control options include defining question types, approval types, and task
assignment types. You can restrict these options to ensure that items are designed consistently and with few
variations, or expand them to enable greater design flexibility.
You can also process category creation requests and view or modify definitions of notifications used by the catalog
item designer.
Process Flow
The catalog item designer uses the records in three distinct areas for creating, publishing, and requesting items:
1. Creating: The catalog item designer uses staging records for items that are being created, with staging records
for any associated questions, approvals, and tasks. For example, a staging Item [sc_ic_item_staging] record can
have associated staging Approval [sc_ic_aprvl_defn_staging] records. These records are staging only, and not
available for order within the service catalog.
2. Publishing: A published item is available within the service catalog to be requested. When item editors publish
an item, the following actions occur:
Staging items create or update the equivalent catalog items.
Questions are copied into variables on that catalog item.
Associated approvals and tasks are copied into equivalent published tables. For example, Approval
[sc_ic_aprvl_defn_staging] records are copied to equivalent Approval Definition [sc_ic_aprvl_defn] records
for the item.
3. Requesting: Requested items and associated records are created when a published catalog item is ordered. When
a self-service user requests a catalog item:
A requested item is generated based on the last-published item and the last-published versions of any variables
used by that item.
Associated approvals and tasks are copied from the published records into equivalent requested item tables.
For example, Approval Definition [sc_ic_aprvl_defn] records are copied to equivalent Approval Definition
(Requested Item) [sc_ic_req_item_aprvl_defn] records.
Admin
19
Admin
20
Field
Description
Name
Question class
The base variable type to use as the class for this question type. The most common variable types are available, but some
complex types, such as macros, are available only when you use the Catalog Item form.
The following classes are available:
Checkbox
Date
Date/Time
Label
Multi Line Text
Multiple Choice
Numeric Scale
Reference (see Note)
Select Box
Single Line Text
Yes / No
Note: Reference fields are only available as preconfigured questions. If you set the question class to Reference, the
Preconfigured Question check box is automatically selected and made read-only.
Order
Active
A check box to indicate whether the question type is active or not. Clear this check box to deactivate a question type, so that it
cannot be used when creating a new question or a new service.
Note: Deactivating a question type that is in use does not affect catalog items that are already using that question type.
Preconfigured
question
A check box to indicate whether users can select this as a preconfigured question type when defining a question. This is checked
by default, and only one active non-preconfigured question type is available per question class.
Some preconfigured question types are provided by default, such as a list of users.
If Preconfigured question is checked, the Read only, Question, Help text, and Default value fields also appear. Depending on
the question class, additional fields may also appear to define variable attributes for that class. For example, if you select a
preconfigured question type based on the Multiple Choice question class, the Question Type Choices field appears, allowing
you to select the choices available for that question type.
Description
Read only
Whether the question type can be selected or not. Appears if Preconfigured question is checked.
Question
Help text
Help text to appear with the question. Appears if Preconfigured question is checked.
Default value
The default value for the question. Appears if Preconfigured question is checked.
Admin
21
Description
Name
Version
[Read-Only] The version of the approval type. The version number gets incremented whenever you save a change to that type.
State
[Read-Only] The approval type state. It is initially set to Draft. When you publish the approval type, the state changes to
Published.
Description
Type
The method for approving items that use the approval type. Can be User, Group or Script. This selection determines which other
fields are available.
User(s)
The individual users who can approve catalog items that use this approval type. This field is available only if the Type is set to
User.
Group(s)
The groups who can approve catalog items that use this approval type. This field is available only if the Type is set to Group.
Script output
The end result of the script, creating either a set of users or groups. This field is available only if the Type is set to Script.
Approver
script
A script to define that approval type, such as a script to define the requester's manager. This field is available only if the Type is set
to Script.
Admin
22
Admin
23
Description
Short
Description
Description
Active
[Read Only] A check box that indicates whether the task assignment type is active or not. To deactivate a task assignment type,
expire it.
Assignment
type
The type of assignment. Set to Direct assignment to define users or groups explicitly, or Scripted assignment to calculate
assignments dynamically using a script.
State
The state of the task definition. Set to Draft if the record is being created or modified, or Published if the task assignment type is
published.
Group
The group to assign to tasks that use this assignment type. This field is available only if the Assignment type is set to Direct
assignment.
User
The specific user to assign to tasks that use this assignment type. This field is available only if the Assignment type is set to Direct
assignment.
Assignment
script
A script to determine who should perform tasks that use this assignment type. This field is available only if the Assignment type is
set to Scripted assignment. For example, a script to identify the requester's on-call support team as the group to assign.
Admin
24
Admin
25
Viewing Notifications
Navigate to Item Designer > Administration > Notifications to list definitions of notifications sent to users who
request a category.
By default, the following three notification definitions are active:
Item Designer Category Request Opened: an acknowledgement after a self-service users submits a request for a
new category.
Item Designer Category Rejected: a message indicating that a request for a new category is rejected.
Item Designer Category Published: a message indicating that a request for a new category is approved, with a
link to the new category.
Admin
26
You can modify these definitions as required, using standard email notification functions.
Using
Overview
Category managers, users with the catalog_manager role, can use the catalog item designer to manage their
categories, assign editors to those categories, and create, modify, and publish catalog items. For example, a facilities
team leader can manage a Facilities category.
Catalog editors can use the catalog item designer to create, modify and publish items within their categories. For
example, facilities team members can create, edit, and publish items within the Facilities category.
Note: You can only manage standard catalog items [sc_cat_item] using the catalog item designer, not more complex items such as
order guides. In addition, UI policies and client scripts are not supported by the item designer. To implement these more advanced
functions, use the service catalog features for creating items.
Process Flow
1. A user requests a category, either requesting to become the manager of that category, or assigning another user as
the category manager.
1. An administrator or catalog administrator processes that request, creating the category with a selected category
manager.
2. [Optional] The category manager assigns catalog editors to a category they manage.
2. Category managers and catalog editors can use the catalog item designer to:
1. Create new items within a category they are assigned to.
2. Create questions, approvals,tasks, and sections, for the item.
3. Publish items to the category after review.
3. Self-service users can use the service catalog to request items in the category, like any service catalog item.
Using
Requesting Categories
Self-service users can request a new category within a service catalog. For example, a facilities team leader
responsible for managing office furniture could request a new category of Office Furniture Requests, within the
Facilities catalog.
To request a category:
1. Navigate to Self-Service > Service Catalog.
2. Select the Can We Help You? > Item Designer Category Request item.
3. Fill in the request form.
4. Click Submit.
The catalog request record state is set to Requested, and you are granted the catalog item designer role so you
can view the status of the request.
5. Log out from your ServiceNow instance, then log back in again, to ensure you have activated this role in your
account.
6. Navigate to Item Designer > My Item Categories to view the status of the request.
Managing Categories
After an administrator approves a category request, the category is immediately created with the selected category
manager.
New categories are created as active, available to display in the selected catalog. Categories with no items are not
displayed in the catalog.
Navigate to Item Designer > My Item Categories to view and edit categories you manage. Click the category
number to open that category.
27
Using
To assign editors to a category, select users in the Editors field of the relevant category form, then click Update.
To deactivate a category, click Deactivate. The category is then no longer visible in the service catalog.
To reactivate a category, reopen the category form and click Activate.
Category managers can also create and manage items in their categories, and publish items to make them available to
users.
28
Using
29
Creating Items
Category managers and catalog editors can create items using the item designer.
1. Navigate to Item Designer > Create New.
Description
Name
State
[Read-Only] The state of the item. Initially the state is set to Draft. When you publish the item, the state changes to
Published.
Details section
Availability
The interface where this item is available. Choose from Desktop and Mobile, Desktop Only, or Mobile only.
Catalogs
Categories
The categories the item should be published to within the selected catalogs.
Short Description
Desktop image
An image of the item. This field is available only if Availability is set to either Desktop Only or Desktop and Mobile.
Mobile image
An image of the item for the smartphone interface. This field is available only if Availability is set to either Mobile Only
or Desktop and Mobile.
Description
A full description of the item. This description appears in the catalog when a user selects the item or clicks the associated
More Information link.
Costs section
One off cost
The price for the item and the currency for that price.
Using
30
Recurring cost
A price that occurs repeatedly at a regular interval. For example, a printer maintenance service could have a $100.00
monthly recurring price.
Recurring cost
frequency
The time frame when the cost recurs. Select a frequency, such as Monthly or Quarterly, if you enter a value in the
Recurring cost field.
Using
31
Field
Type
Description
The type for the question, defining the format you would like to receive the information in. By default, the options are Checkbox,
Date, Date/Time, HTML, Multi Line Text, Multiple Choice, Numeric Scale, Reference, Select Box, Single Line Text, or
Yes/No. Each type allows you to create your own option, using the Option field,
Administrators and catalog administrators determine the question types available.
Option
The standard questions available within the selected question type, as set by the value of the Type field.
By default, all question types contain Create your own <type> as an option, allowing you to define your own question of that type.
These types may contain additional fields, allowing you to further define the question options. For example, Create your own
Numeric Scale allows you to define Scale Min and Scale Max values.
Some types also have additional preconfigured options available. By default, the following extra options are available:
Comments: allow the user to enter a short message. Available if the Type is Multi Line Text.
Contact preference: ask the user to select their preferred contact method: email, telephone, or SMS. Available if the Type is
Multiple Choice.
Configuration item: allow the user to select a single configuration item from those defined in the system. Available if the Type
field is Reference.
Active user: allow the user to choose from a list of active user records. Available if the Type is Reference.
Administrators and catalog administrators define the options available for each question type.
Mandatory
A check box to indicate whether users are required to provide an answer before they can submit the request. Only available for some
question types.
Read only
A check box for indicating whether the question is read only. Only available for some question types.
Section
The section this question appears in. Sections allow you to group questions logically. Choose from the sections that have already
been defined for the item.
Column
The column this question appears in within the selected section. Fields appear in the left column by default, but can be moved to a
right column.
Question
Order
The numeric sequence for the question. Questions appear in the selected column in the order defined here.
Default
value
The default answer for the question, if any. Only available for some question types.
Help text
Text that helps the user decide how to answer this question. Help text appears under the More information link below the question.
Question
Choices
The choices a user can choose for answering the question. Double-click on the row to add an entry to the list. This field appears only
for question types which have choices, such as Multiple Choice.
Note: If you use a choice list, make sure the default value exactly matches a choice list value.
Using
32
Description
Active
Order
The sequence in which the approvals are requested. Approvals are only created when any approvals with lower order numbers are
completed. For example, if Approval 1 has order 100 and Approval 2 has order 150, Approval 2 is only created when Approval 1 is
completed.
If multiple approvals have the same order number they are requested at the same time.
Type
The approval type. Set to User for a specific user, Group for a specific group, or Predefined Approval to select approvers from a
predefined list.
User
A specific user to be the approver. Appears if the approval type is set to User.
Group
A specific group to be the approver. Appears if the approval type is set to Group. The first group member who responds to the
approval request responds for the entire group.
Predefined A check box allowing you to select an approval type created by the administrator or catalog administrator. Appears if the approval type
is set to Predefined.
For example, if you select the default predefined approval of Requestor's Manager, the approval is sent to the manager of the person
who requests the item.
Using
33
Description
Short
Description
Description
A more detailed description that provides details and instructions for the people performing the task.
Assignment
The assignment type. Select User specified to select your own assignment options, or Predefined to select from predefined task
assignment definitions set by an administrator.
Group
The group to perform the task. Appears if the assignment is set to User specified.
User
The user to perform the task. Appears if the assignment is set to User specified.
If you select a group first, only users from that group are available in the User selection list.
Using
34
Assign to
Order
The sequence in which tasks are created. Tasks are only created when any tasks with lower order numbers are completed. For
example, if Task 1 has order 100 and Task 2 has order 150, Task 2 is only created when Task 1 is completed.
If multiple tasks have the same order number, they are created at the same time, so the tasks can be performed at the same time.
Description
The section title that describes the type of questions in the section. For example, you can define sections such as User Details.
Position A number indicating the vertical position of the section. Position 1 shows at the top, position 2 is below that, and so on.
Using
Publishing Items
When you create an item, it is in a Draft state. You can review the item, make changes, and refine the layout as
many times as needed to get the details exactly right.
When the item is ready, a category manager or catalog editor can publish it, making it available as a catalog item in
the service catalog.
To publish an item:
1. Navigate to Item Designer > Administration > All Items.
2. Open the item record.
3. Click Publish.
The item is now a live catalog item, available for ordering.
Republishing Items
If you make and save the changes to an item in the Item Designer > Administration > All Items module, the item
state returns to Draft. The live catalog item remains available to order, but does not have the changes you made.
This allows you to make changes to the item in a staging area, then apply those changes to the live catalog item after
review.
To apply your changes, republish the item: navigate to Item Designer > Administration > All Items, open the item
record, then click Publish.
Unpublishing Items
To remove an item from the service catalog, navigate to Item Designer > Administration > All Items, open the
item record, and select Unpublish.
The item is then inactive within the service catalog, but remains available for editing and republishing. This is useful
if you do not want customers to order the catalog item while you are making changes.
Expiring Items
To remove an item from both the service catalog and from the item designer, navigate to Item Designer >
Administration > All Items, open the item record, and select Expire.
The item is removed from the list of active items, and cannot be edited or republished.
35
Using
36
Catalog Items
Overview
Catalog items are goods or services available to order from a service catalog. Administrators and catalog
administrators can define catalog items, including formatted descriptions, photos, and prices.
Catalog Items
37
Field
Description
Name
Catalogs
Select the catalogs this item appears in, starting with the Eureka release.
Category
Select a category for the item. Starting with the Eureka release, categories can only be selected after the Catalogs field is
populated. Catalog searches find only items that are assigned to a category.
Model
Workflow or
Execution Plan
Select either a workflow or an execution plan (formerly named delivery plan) to define how the item request is fulfilled. If you
select a workflow, the Execution Plan field is hidden. Clear the Workflow field to select an execution plan.
Price
Set a price for the item and select the currency from the choice list.
Recurring Price
Set a price that occurs repeatedly at a regular interval. For example, a printer maintenance service could have a $100.00 monthly
recurring price. For details, see Setting Recurring Price.
Recurring Price
Frequency
Select the time frame for recurrence only if the Recurring Price field has an entry. For example, Monthly or Annually.
Omit Price on
Cart
Select this check box to hide the item price in the cart and the catalog listing. See Hiding Prices in the Service Catalog.
Active
Select this check box to make this item active (available to be ordered).
Icon
Upload a 16x16 pixel image to appear as an icon beside the item name in the catalog. If no image is uploaded, the default icon
appears beside this item.
To use your own default icon, upload the image, overwriting the image stored in images/service_catalog/generic_small.gif.
Preview Link
Click Preview Item to preview in a new window how the current item definition would look in the catalog.
Short Description Enter text that appears on the service catalog homepage, search results, and the title bar of the order form.
Ordered Item
Link
Specify the record defining a link to more information, as shown on the ordered item screen. See Adding Ordered Item Links
for more details.
Description
A full description of the item. This description appears in the catalog when a user selects the item or clicks the associated More
Information link.
Picture
Availability
Define which devices the item should be displayed on: Desktop and Mobile, Desktop Only, or Mobile Only. Available
starting with the Dublin release.
Note: Unsupported catalog item types are not displayed on mobile devices, even if the Availability is set to show an item of
this type.
Mobile picture
type
Define the type of picture to display for the item on mobile devices. Set to Desktop to use the standard desktop picture, Mobile
to use a specific image for the mobile device using the Mobile picture field, or None to not use a picture. Available starting
with the Dublin release.
Mobile picture
Appears if Mobile picture type is set to Mobile. Select the image file to upload for the mobile picture. Available starting with
the Dublin release.
Hide price
(mobile listings)
Select this check box to hide the item price on mobile devices. Clear the check box to display the price. Available starting with
the Dublin release.
Select a template to populate the generated record with predefined values. Available for Record Producer items only.
No quantity
Select this check box to hide the quantity selector for the item. See Hiding the Shopping Cart or Catalog Item Quantity.
No cart
Select this check box to hide the shopping cart for the item. See Hiding the Shopping Cart or Catalog Item Quantity.
Order
Related Lists
Catalog Items
38
Variables
Define variables for the item to provide options for ordering the item. See Using Service Catalog Variables.
Variable Sets
Link an existing variable set to the item to provide multiple options for ordering the item. See Service Catalog Variable Sets.
Approved By
Group
Add the groups that have to approve requests for this item. See Approval Rules.
Approved By
Add the users who have to approve requests for this item. See Approval Rules.
Categories
Add any additional categories associated with this item See Assigning Items to Additional Catalogs and Categories.
Catalogs
Add any additional catalogs associated with this item. See Assigning Items to Additional Catalogs and Categories.
Catalog Items
If multiple items with the same recurring price frequency are placed in the shopping cart, they are grouped together.
The grouping makes it easier to see how much items cost for each frequency (for example, weekly, monthly, and
annually). If the shopping cart contains items with and without recurring costs, they are grouped separately.
On a Request record, recurring prices are grouped by frequency and shown in the Recurring Prices related list. In
the example below, two items each have a monthly recurring cost of $100.00 and their prices are grouped as a single
record of $200.00 monthly. Another item with an annual recurring cost of $500.00 is listed as a separate record.
If a Request record contains multiple items with the same recurring frequency, click the arrow next to the
corresponding Recurring Prices record to view details. In the example below, two items (the mobile phone and the
39
Catalog Items
40
sales laptop) each have a monthly recurring cost and are grouped together under the Monthly Recurring Prices
record, but are listed separately when the Recurring Prices record is expanded. Only one item has an annual recurring
cost.
Alternatively, you can make the quantity selector visible to certain roles with the List of roles
(comma-separated) that can use the quantity selector in the shopping cart property
(glide.sc.allow.quantity ) on the Service Catalog Properties page.
5. Select the No cart check box to hide the shopping cart for the item.
Catalog Items
41
Choice lists
Navigate to Service Catalog > Catalog Definition > Ordered Item Links.
Click New.
Enter a Name for the ordered item link.
Enter Link text to display as the link. For example, Click here to see more information about the iPhone.
Enter the exact Link URL. For example, http://www.mylink.com.
Catalog Items
42
6. Click Submit.
To add an ordered item link to an item:
1.
2.
3.
4.
5.
Configuring Catalog
Items Using Properties
You can use service catalog properties
to configure the behavior and usage of
service catalog items.
Navigate to Service Catalog >
Catalog Policy > Properties to access
service catalog properties.
Catalog Items
43
44
Workflows
Overview
Administrators can use the graphical workflow editor to create workflows to drive request fulfillment. Workflows
can generate and assign approvals, generate and assign tasks, or run scripts and subflows.
Service catalog workflows can be attached to particular requests in one of the following ways:
Manually, on the Catalog Item form
Automatically based on conditions
Automatically if there are no other workflows attached
See Defining a Service Catalog Workflow for more details.
Workflows
45
Execution Plans
Execution Plans
Overview
An execution plan describes how a catalog item is procured, configured, and installed. Each execution plan contains
one or more tasks.
For example, an organization might create an execution plan for delivering a corporate standard PC that contains
these tasks:
1. Procure the PC from a supplier.
2. Configure the PC according to the requester's specifications.
3. Deliver the PC to the requester.
An execution plan is not specific to any one catalog item. There could be many different models of PC that a user
can order, all using the same execution plan. It is usually not necessary to create a new execution plan for each
individual catalog item in a mature service catalog.
Note: Execution plans are not as powerful or flexible as workflows, and cannot be designed using a graphical editor. Execution plans
are useful in some circumstances (for example, if you need to build your processes programmatically or through imports), but
ServiceNow typically recommends using workflows for request fulfillment processes.
46
47
Configuration
Access Controls
Overview
The service catalog supports several ways to control access to a catalog item or category (called catalog
entitlements):
Role
Company, Department, Group, User, or Location
Custom Script
A service catalog item with no specific access rules is available to all users. If access conditions are specified, only
users who meet all conditions have access.
Access rules are checked in the following order: roles, scripts, access grants, and denials. If any conditions deny the
user access, then the user does not have access.
Access Controls
48
Controlling Access
with a Script
To control access to a service catalog
item or category with a custom script:
Personalize the related lists
Sample Scripts
The following example script grants access to a catalog item named French Blackberry to users with a language of
Fr (French):
gs.log('Running Entitlement script for French Blackberry');
if(gs.getUser().getLanguage() == 'fr')
answer=true;
else
answer=false;
Access Controls
49
The following example script could be used to distinguish between two categories of users (one with full access and
one with restricted access) on the catalog of services:
var userid = gs.getUserID();
var gr = new GlideRecord('sys_user');
gr.get('sys_id', userid);
if(gr.source)
answer=true;
else
answer=false;
Hiding Prices
Overview
Administrators can configure options to hide catalog item prices in the service catalog for listings of specific items,
for specific types of items, or for all items.
Item prices may appear in these places:
A catalog item
listing in the
Order This
Item panel
A subcategory listing
The shopping
cart panel
The order
confirmation
page
The order
status or
summary
screen
Hiding Prices
50
Localizing Prices
51
Localizing Prices
Overview
The ServiceNow service catalog fully supports localized currencies for item prices and options.
Note: ServiceNow has the concept of a system basis currency: the system default currency, based on the global locale property. All
currency values are automatically converted to this basis currency before aggregation or conversion. Do not change the global locale
setting after you have data in the system, as this can cause aggregations to calculate and display incorrectly under some
circumstances.
Price
A price represents the cost of the catalog item. A computer might cost $1000, or the provisioning of an email
account may require an $80 chargeback.
ServiceNow supports these pricing models:
Calculated: [Default] the price of an item is always quoted based on the user's locale. For example, a UK user
sees the price of her computer in pounds, while a Japanese user sees his price in yen. The numeric value of the
price is adjusted using the most current exchange rates on file.
The locale is based on the Country code field [sys_users.country] on the user record. If this field is not set, the
locale is taken by default from the instance locale, as defined by the Locale code to use for localization
[glide.system.locale] property.
Fixed: the price of an item is always quoted in a particular currency. An item priced at $1,000 is always priced at
$1,000, even if viewed by a UK or Japanese user.
Multiple: a fixed price is specified for each currency. For example, you can specify that all US users pay USD
1000 for a computer, while the Japanese price is JPY 120,000, regardless of exchange rate.
Note: If no fixed price is set, ServiceNow uses the calculated price (default).
Currency
A currency field represents an actual spend, that is, a discrete quantity of money spent at a particular point in time.
ServiceNow keeps track of the currency that was actually spent, and the time it was spent.
On a related list, a currency field uses one of these modes. Toggle between them by clicking the globe icon next to
the currency field.
As spent: displays the amount in the currency that was spent. This may mean that some items in the list show
yen, while others show pounds or dollars, for example, 100.00.
Calculated: displays all amounts in the session display currency, for example, $137.86.
Reference: displays all amounts in the currency entered and includes the system basis currency in square
brackets, for example, 100.00 [$137.86].
On a form, a currency field always displays the amount in the currency entered.
Localizing Prices
Note: If you reference a currency field in script, its reported value is whatever the current user's session would show. There are also
several utility functions you can call against a currency field to get data back in a variety of forms. For more information, see
Scripting Currency and Price Fields.
Using Locales
ServiceNow uses the language and country specified in the user record to determine the currency and pricing model
for a particular user. If these records are incomplete or incorrect, currency and pricing models are based on the
default locale. For more information, see Defining Locales.
52
Localizing Prices
Reporting
Currency and price fields can be queried and reported. Reports and aggregations are always display values in the
session currency.
Default Reports
ServiceNow provides two reports that address service catalog spending:
This Year's Spending by Department: spending for the previous 12 months, broken down by month and
department.
This Year's Spending by Location: spending for the previous 12 months, broken down by month and requester
location.
To run these reports, navigate to Reports > View / Run and go to the Requested Item section.
53
UI Policy
54
UI Policy
Overview
UI policies can be used to define custom process flows for tasks. UI policies are also useful when applied to service
catalog items.
Keep the following points in mind when creating service catalog UI policies:
A catalog UI policy applies to either a specific catalog item or any item that uses a specific variable set.
A catalog UI policy can only contain and reference variables that are defined for the catalog item or variable set.
Exactly like UI policy conditions, the variables in a service catalog UI policy condition must be visible (even if
hidden by UI policy or read-only) on the form for the condition to be tested.
Service catalog UI policies are applied to variables and variable sets of catalog items ordered in the service
catalog. Policies can also be applied when the variables are present in a Requested Item or Catalog Task form
(starting with the Calgary release).
Catalog UI policies are supported for catalog items viewed in a service catalog wizard (starting with the Calgary
release).
The advanced view of a catalog UI policy that makes an option read only.
Note: You might need to personalize the form to see all the fields below.
UI Policy
55
Field
Applies to
Description
Select the type of item this UI policy applies to:
Catalog Item or
Variable Set
Select the catalog item or a variable set this UI policy applies to. The field name and options available depend on the
Applies to selection.
Short description
Active
Select the check box to enable the UI policy. Clear the check box to disable it.
When to Apply
Catalog Conditions
Create conditions for the UI policy using catalog item variables. The policy is applied if the conditions evaluate to true.
For example, a catalog item of Schedule a Move may have a condition of move_from > is > San Diego. The UI policy
is applied when an employee schedules a move from San Diego to any other company location.
Applies on a Catalog
Item view [Advanced
view]
Select the check box to apply the UI policy to catalog items within the order screen (starting with the Calgary release).
Applies on Catalog
Select the check box to apply the UI policy on a Catalog Task form (starting with the Calgary release).
Tasks [Advanced view]
Applies on Requested
Items [Advanced view]
Select the check box to apply the UI policy on a Requested Item form (starting with the Calgary release).
On load [Advanced
view]
Select the check box to apply the UI policy when the form is loaded. Clear the check box to apply the policy only when
the form is changed.
Reverse if false
[Advanced view]
Select the check box to reverse the UI policy if the Catalog Conditions statement evaluates to false.
Script
Run scripts [Advanced
view]
Select the check box to use the Execute if true and Execute if false scripting fields. Scripts are necessary to apply a UI
policy other than Read Only, Mandatory, or Visible. For example, you must create a script to apply a UI policy to a
specific role.
Other fields
Order
Enter the sequence in which this UI policy is evaluated if more than one matching UI policy exists. The order is evaluated
from the lowest value to the highest value.
Global
Inherit
UI action
Default view or
Advanced view
Changes the form view to the default or advanced view. The fields change based on the view.
A read only field that shows the catalog item or variable set that this policy action applies to.
Variable name
Select the variable that belongs to the catalog item or variable set.
Mandatory
Choice list for specifying how the UI policy affects the mandatory state of the field. Choices are:
Leave alone
True
False
UI Policy
56
Visible
Choice list for specifying how the UI policy affects the visible state of the field. Choices are:
Read Only
Leave alone
True
False
Choice list for specifying how the UI policy affects the read-only state of the field. Choices are:
Leave alone
True
False
UI Policy
57
Example 2
The following UI policy makes it
mandatory for anyone with the title IT
Technician to add a mobile phone
number when ordering business cards.
Enhancements
Eureka
The Catalog UI Policy form
provides a default view that
provides a simplified form and an
advanced view that provides
additional options.
Using Renderers
Using Renderers
Overview
Renderers define a specific look and feel for a catalog or category.
Administrators and catalog administrators can use renderers to control:
How catalogs appear on the multi-catalog homepage.
How categories appear on a catalog homepage.
Administrators and catalog administrators can apply renderers to catalogs and categories.
Administrators can create or modify renderers.
Renderers are available starting with the Calgary release.
Applying Renderers
You can apply renderers to catalogs and categories.
4. Select a renderer from the list displayed in the right-hand panel, for example Title Only.
5. Click the close (x) button to save the catalog with the renderer settings you defined.
The following default catalog renderer schemes are available:
58
Using Renderers
6. Click Submit.
This new renderer is added to the list of available choices when applying a renderer.
59
Using Renderers
60
Field
Description
Name
Macro
Render catalog title Appears for catalogs renderers. A check box to display the catalog title bar on the multi-catalog homepage.
Render title
Appears for category renderers. A check box to display the category title bar on the catalog homepage.
To modify a default catalog or category renderer, follow a similar process, by selecting one of the default renderers
listed.
Data Lookup
Overview
The Data Lookup and Record Matching Support for Service Catalog plugin offers similar features to the general
Data Lookup and Record Matching Support plugin. Use the plugin for service catalog to perform data lookups for
variables on service catalog item screens, on requested items, and on catalog tasks as a user fills out the values
contained in variables. The plugin for service catalog is available in the Calgary release.
Administrators and users with the catalog_lookup_admin and catalog_lookup_manager roles can create and use
service catalog data lookups.
Data Lookup
61
Roles
The following roles participate in the process of creating and using service catalog data lookups:
Role
catalog_lookup_admin
Description
Similar to data_lookup_admin. Can create, update, and delete catalog data lookup definitions, matcher variable
definitions, and setter variable definitions.
catalog_lookup_manager Can read catalog data lookup definitions, matcher variable definitions, and setter variable definitions. The role can be
granted to anyone using catalog data lookups so they can see the definitions for which they are creating rules. As
required, grant create, read, write, or delete access to the individual data lookup rules tables created to delegate
maintenance.
Create a custom data lookup table. It must extend the Data Lookup Matcher Rules [dl_matcher] table.
Add data lookup values to the data lookup table.
Create a catalog data lookup definition record.
(Optional) Create a data lookup module.
Data Lookup
62
Note: Each row in a data lookup table must be unique.
14.
15.
16.
17.
18.
19.
20.
Click Submit.
From the Catalog Setter Variable Definitions related list, click New.
In Source Variable name, select the variable name for the item or variable set to be updated.
In Matcher table field, select the field from the matcher table that contains the value to be set.
Fill in the other fields, as appropriate.
Click Submit.
Click Update.
For example:
Data Lookup
63
Description
Name
Applies to
Select what the data lookup rule should apply to: a catalog item or a variable set.
Catalog
item/Variable Set
Select the catalog item or variable set to which the data lookup rule should apply.
Matcher Table
Select the table containing the lookup values. This table normally begins with a u_ prefix.
Active
Select this check box to run this catalog data lookup rule. Clear the check box to ignore this catalog data lookup rule.
Select this check box to automatically look up values whenever a user changes a variable value on a catalog item or form.
This is the only supported method for catalog data lookup rules.
Note: This does not include changes automatically made by other data lookup rules, such as the priority lookup rules.
Description
Data
Lookup
Source
variable
name
Select the variable from the source item or variable set that contains the data to match.
Matcher
table field
Select the field from the matcher table that contains the data to match.
Exact
lookup
match
Select this check box to require the matcher table to contain a matching row for every possible combination of values (including blank
values). Clearing this check box means that any blank values in the matcher table match any value. For example, suppose the Offering
field is blank in the matcher table. When this check box is selected, there is a match only when the value in the source table row is
blank. When this check box is cleared, the blank matcher field value matches any value in the source table field.
Note: If the lookup does not require an exact match, matcher table rows containing blank values are treated as wild cards, matching all
values.
Data Lookup
64
Description
Data Lookup
Source variable
field
Select the variable from the source item or variable set that the data lookup updates.
Matcher table
field
Select the field from the matcher table that provides the new value for the update.
Always replace
Select this check box to replace any existing value with a value from the data lookup. Clear this check box to ignore the update
if the field has an existing value.
Required Value
Table
Select the data lookup table you created in Step 1. For example u_server_offerings_lookup.
Link type
List of Records
Troubleshooting
If the custom data lookup definition rules are not behaving as expected, check for the following conditions.
Ensure that the matcher variable is not read-only. Since users cannot change read-only variables, there cannot be
an on form change event for read-only variables.
Ensure that the data in the matcher table is correct.
If the lookup requires an exact match, verify that there is a matcher table row for each possible combination
(including blank values). The lookup fails if cannot find a matching value.
If the variable is an option or check box, it always has a value, so you must select Always replace.
Verify that you have not created a recursive rule, such as:
If Variable A = 1, then Variable B =2. If Variable B = 2, then Variable A = 2.
Properties
65
Properties
Overview
To configure service catalog system properties, navigate to Service Catalog > Catalog Policy > Properties.
Note: See Available System Properties for a list of general system properties.
Description
Service Catalog requests approval engine.
glide.approval_engine.sc_task
glide.sc.allow.checkout.clone
List of roles (comma-separated) that can use bulk ordering functionality. Blank means all users.
glide.sc.allow.quantity
glide.sc.allow.clone.roles
List of roles (comma-separated) that can use the quantity selector in the shopping cart. Blank means all users.
glide.sc.approval.hover
Show the current pending approver's name in the stage widget mouseover.
glide.sc.audit variables
glide.sc.can_search
List of roles (comma-separated) that can search the Service Catalog. Blank means all users.
glide.sc.category.canview.override List of roles (comma-separated) that override entitlements so that they can view any category within the
Service Catalog.
glide.sc.checkout.cancel
Allow ess users the option to cancel their requests from the checkout screen.
glide.sc.checkout.cancel.condition Condition under which users may cancel a request. Requires Allow ess users the option to cancel their
requests from the checkout screen to be True.
glide.sc.checkout.request.number
Show the request item number for each line item on the checkout screen.
glide.sc.checkout.twostep
Properties
glide.sc.checkout.twostep.back
66
Show the Back to Catalog button on the two step checkout screen.
glide.expert.checkout.twostep
Use the two step checkout model when placing a catalog order from a wizard.
glide.sc.checkout.task.display
Show tasks related to requests on the Order Status page, the screen you see in the service catalog after a
successful order is placed.
glide.sc.continue.shopping.target
Redirect to this URL after clicking the Continue Shopping button inside of a cart. Blank means default
behavior (go back one screen). Specifying a fixed URL such as
"catalog_home.do?sysparm_view=catalog_default" will always return to the fixed URL.
Note: This property has been removed with the Eureka Release, and replaced with catalog and catalog site
settings.
glide.sc.delivery_summary.name
Use the delivery task name instead of the short_description for the delivery plan summarizer field.
glide.sc.enhance.labels
glide.sc.entitlement.override
List of content types (comma-separated) to allow on the catalog homepage. Blank allows all content types.
glide.sc.price.display
Field name to use for the description column of the checkout form. If blank, the default is used.
glide.sc.home.filter
List of roles (comma-separated) that can override normal entitlement checking inside the catalog. A role of
"itil" means that the itil role can order any catalog item, even one protected by entitlement restrictions.
glide.sc.ess.description
glide.sc.req_for.roles
List of roles (comma-separated) that can view the "Requested for" widget in the Service Catalog. Blank means
all users. Controls access to the Requested For widget on the catalog homepage. Users with access to this
widget can request items for another person. Users without access can place orders in their own name, only.
glide.sc.reset_cascade
On an order guide, reset cascading variable values on an item when a user goes back using the "describe needs"
button.
glide.sc.restrict.quantity.changes
Prevent changes to requested item quantity when approved (except for catalog_admin users).
glide.sc.round.delivery.times
Round all delivery plans > 1 day to the nearest day (true) or display the precise time (false).
glide.sc.search.rowcount
Number of Service Catalog matches returned for global searches. Limits the number of results returned by a
catalog search to improve search performance.
glide.sc.variable.snapshot
Render variables on a request item as they appear on the order panel, followed by the delivery plan variables
(true), or merge the two based on their order values (false).
glide.sc.request_for.columns
Additional columns for the "request for" Service Catalog widget. Choose fields in the user [sys_user] table.
Must be semicolon separated.
glide.sc.request_for.order_by
Ordering of matches for the "request for" Service Catalog widget. Choose fields in the user [sys_user] table.
Properties
67
Description
Toggle whether the expand/collapse icon is rendered for category widgets on the service catalog
homepage.
glide.sc.item.cannot_add_to_request
List of class names for catalog items that cannot be added to an existing request.
glide.sc.item.cannot_try_it
glide.sc.show_additional.cats
Type: string
Default value: sc_cat_item_guide, sc_cat_item_producer, sc_cat_item_wizard
Learn more: Restricting Search by Item Type
Validate mandatory fields when switching tabs in Choose Options section of Order Guides.
glide.sc.max_items
Type: string
Default value: sc_cat_item_guide, sc_cat_item_producer, sc_cat_item_wizard
Learn more: Hiding prices By Item Type
List of class names for catalog items that do not have the search field displayed.
glide.sc.guide.tab.validate
Type: string
Default value: sc_cat_item_guide, sc_cat_item_producer, sc_cat_item_wizard
Learn more: Restricting Behavior by Item Type
List of class names for catalog items that do not show the price in listings.
glide.sc.item.cannot_show_search
Type: string
Default value: sc_cat_item_guide, sc_cat_item_producer, sc_cat_item_wizard, sc_cat_item_service
Learn more: Restricting Behavior by Item Type
List of class names for catalog items that do not generate a normal cart item.
glide.sc.item.cannot_show_price
Type: string
Default value: sc_cat_item_guide, sc_cat_item_producer, sc_cat_item_wizard
Learn more: Restricting Behavior by Item Type
List of class names for catalog items that do not use the default "Try It" UI Action.
glide.sc.item.not_normal_cart_item
Type: integer
Default value: 5
Learn more: Setting Number of Items and Categories to Preview
glide.sc.cat_view_use_popup_for_details When browsing a category, use the popup icon to show item details.
glide.sc.auto_expand
Number of Catalog Items to expand in browsing and search when not using popup icons to view details.
Type: integer
Default value: 2
Learn more: Configuring More Information Displays
Properties
68
glide.sc.use_breadcrumb_links.cms
Use links for breadcrumbs rendered in Service Catalog pages accessed via a CMS site.
This enables users with the CMS administrator (content_admin) role to choose whether service catalog
breadcrumbs are displayed with or without links for greater navigation control.
glide.sc.use_sub_cat_section
glide.sc.search.disabled_cats
glide.sc.search.cms_page
glide.sc.home.cms_page
Type: string
Default value: catalog_find_cms (a UI page that calls the catalog_find_macro UI macro)
Type: string
Default value: order_things (a CMS page that displays a splash menu of service catalog categories)
Description
Name of placeholder picture for items that do not have a picture defined.
ServiceNow provides several possible images, from sc_placeholder_image-01.png to
sc_placeholder_image-14.png. Also, the default can be replaced with a custom image.
glide.sc.mobile.home.category.render Specify how sub-categories are rendered in the Mobile UI, prior to user selection of Card or List layout.
Note: The service catalog homepage parent category layout cannot be modified from the default Card
layout.
glide.sc.mobile.limit.description
Limit descriptions in category and item listings to two rows in the Mobile UI.
Properties
69
Description
70
Using
Overview
Administrators and users with the catalog_admin role can create service catalog variables and add them to a service
catalog item, to provide options when ordering that item. The variables define questions to ask the customer ordering
the catalog item.
Note: You might need to personalize the form to see all the fields below.
Using
71
Field
Description
Type
Cat item
Mandatory
Active
Maps the variable to a specific field on the table for the record producer.
Field
Record producer The table that the record producer creates a record in.
table
Field
Availability
Visible
Elsewhere
Displays the variable on other types of catalog items (such as content items and record producers).
Visible on
Bundles
Visible on
Guides
Displays the variable on order guides. Note: If an order guide has a large number of items, which in turn have a large number of
variables, consider unchecking this on as many items as possible, to improve loading performance on order guides.
Visible on
Summaries
Question
Question
Name
Show help
Provides additional information when the user requests it. See Defining Help Information for information about setting up this
additional information.
Description
Type Specifications: Options in this section differ depending on the variable type. See the table below.
Default Value
Default value
Variable
attributes
Other fields
Order
Global
An option to show the variable in all catalog tasks within service catalog workflows or execution plans by default. The variable
must be attached to individual catalog tasks if this option is not selected.
These fields are available for the Type Specifications section of the Variable form.
Using
72
Field
Description
Yes/No
Include none
Multiple Choice
Choice direction
Do not select the first choice Uses the first item in the choice list for display purposes only. Users cannot select the first item as a value.
Numeric Scale
Scale min
Scale max
The table where the select box obtains values for the user to select.
The field in the lookup table that populates the default variable value.
A comma-separated list of fields on the lookup table whose values are used to display the selections in the select box.
The field whose value is used to modify the price of the item being ordered.
Lookup recurring price field The field whose value is used to modify the recurring price of the item being ordered.
Unique values only
Permit the field to have a unique value. The system will not let two records have the same value for that field.
Reference qual
Select Box
Choice table
The table where the select box obtains values for the user to select.
Choice field
The field in the table that populates the default variable value.
Check Box
Price if checked
The price that the order increments if the user orders more than a quantity of one.
UI page
Macro
Container Start
Layout
List Collector
List table
Lookup Multiple Choice. The fields for this type are described in the Multiple Choice and Lookup Select Box types.
Using
73
Applying Roles
Apply role-based restrictions to a
catalog variable to control which users
can create, write (update), read, and
delete a value for the variable.
Variable help
Note: You might need to personalize the variable form to add the Create roles, Read roles, Update roles, and Write roles fields.
To add role-based restrictions to a variable, click the lock icon by each field and select the roles that should have the
associated access.
Using
74
Using
75
Editing Variables
When a user orders a catalog item, the information collected from the item's variables is passed to the requested item
generated for that order.
You can edit this information using the variable editor, changing variable information if needed, then saving your
changes.
You may need to personalize the form to see the variable editor.
Note: The variable editor does not support confirmation messages if you navigate away from this form. If you do not save your
changes before navigating away, your changes will be lost.
Types
76
Types
Overview
The service catalog supports several types of service catalog variables, which are also referred to as questions.
Some variable types accept variable attributes, as described in the sections below.
You can also attach help text to any service catalog variable.
Note: The following variable types are not supported by the service catalog on mobile devices: Break, HTML, Label, List Collector,
Macro, Macro With Label and UI Page.
If multiple attributes are supported for a variable type, they can be specified in this field, separated by commas.
The following descriptions list the attributes supported for each variable type.
Break
Displays a horizontal line across the form. Breaks are formatting elements; no
data is collected.
Break
Types
77
CheckBox
Creates a check box that may be selected or cleared. List check boxes in order
under a label to create a multi-option question (as shown in the example).
Check Box
Container
To format the container as shown in the example, do the following in the container start variable:
Select a Layout of 2 Columns Wide, alternating sides.
Select the Display title option to use a collapsible title bar.
Date
Creates a date input widget.
Date
Types
78
Date/Time
Creates a date and time input widget. Times are stored in Greenwich Mean
Time (GMT) and are displayed in the current user's time zone.
Date/Time
HTML
HTML variables are useful for providing additional content for an item that requires more advanced formatting,
including images. HTML variables are available in the Calgary release.
The variable can be:
Used for user input.
Used for reusable content when put
into a variable set (for example,
terms and conditions).
Available in two modes: Edit and
Read-only. In edit mode, a toolbar
is available, and links do not work.
In read-only mode, no toolbar is
available, and links work. To switch
between modes, use entitlements or
create a UI policy to set the HTML
field to read-only mode.
HTML variable
Note: HTML variables are not currently supported for display on the shopping cart summary or approval summary screens. The
available in summaries field is hidden on the variable form if the type is "HTML".
Label
Displays a label across the form. Use labels to separate questions into sections
(example, left) or list check boxes in order under a label to create a question
for which the user can select several options (example, check boxes).
Labels are formatting elements; no data is collected.
Label
Types
79
List Collector
Uses the list collector (slushbucket) interface to add
multiple records from a table.
Supported attributes for this variable type:
no_filter: hides the filter fields that appear
above a list collector.
List Collector
Note: This attribute is not a standard dictionary attribute, but is specific to the service catalog.
[top
of
page]
Lookup value field: field in the lookup table that populates the default
variable value.
Lookup label field: field names (comma-separated list) that define the
user choices.
Reference qual: supports reference qualifiers and advanced reference qualifiers. Returns all matching results (no
maximum).
Choice direction: allows you to layout options horizontally (selecting Across), or vertically (Down), as shown in
the screenshot.
Supported attributes for this variable type:
ref_qual_elements
For more information, see the available attributes list.
Types
80
Lookup label field: field names (comma-separated list) that define the
user choices.
Reference qual: supports reference qualifiers. Returns all matching results (no maximum).
For example, to create the lookup select box in the picture, enter the following values:
Macro
Inserts a UI macro into the catalog item.
Note: UI macros in the service catalog do not support the following glide_list
functions: clickthrough, slushbucket editing, and email field.
Types
81
Multiple Choice
Creates radio buttons for question choices.
To lay out options horizontally, set Choice direction to Across.
Multiple Choice
Numeric Scale
Creates a horizontal set of radio buttons with numeric options from Scale min
to Scale max (a Likert scale [1]).
Numeric Scale
Reference
References a record in another table, similar to a reference field. For example,
a variable named point_of_contact may reference the User [sys_user]
table.
Reference
To set up a reference variable, define the question and select the Reference
table.
Types
82
Select Box
Creates a choice list from pre-defined question choices.
To change the -- None -- display value in select boxes, clear the Include
none field on the variable and add a field with a Value of NULL and the
desired label.
Select Box
Note: This attribute is not a standard dictionary attribute, but is specific to the service catalog.
UI Page
Inserts a UI page into the catalog item.
[top
of
page]
Note: This attribute is available with the Aspen release. This is not a standard dictionary attribute, but is specific to the service
catalog.
Types
83
Yes/No
Creates a choice list with Yes and No as options.
Yes / No
References
[1] http:/ / en. wikipedia. org/ wiki/ Likert_scale
Sets
Overview
Administrators and catalog administrators often define multiple catalog items which use the same group of service
catalog variables. For example, a catalog administrator defines ten catalog items for types of servers, and the request
process for all of these items asks the same five questions, using the same variables.
Associating these variables individually per catalog item is repetitive, time-consuming and error-prone. Also, to
make a single change to multiple catalog items involves manually changing each item. For example, to add a new
variable to ten catalog items, you would need to manually associate this new variable with each item.
Variable sets allow you to group variables together, and share this group between multiple catalog items and order
guides. Changes made to a variable set affect all items that use the variable set, allowing you to change the set once,
then apply the changes to all items using that set.
Note: Variables in a set use the same rules as other variables to determine when the variables in a set appear on a task. For
example, variables must either be global or be attached directly to an item.
Sets
84
Description
Name
Order
Display
title
A check box to give the variable set its own title and header bar, with collapse and expand buttons on the right. See Adding a Title
and Header Bar.
Title
The variable set title. Appears if the Display title check box is selected.
Layout
The layout display. Set to 1 column wide, 2 columns wide, alternating sides or 2 columns wide, one side, then the other. See
Defining Variable Set Layout for details.
Sets
85
Note: When a user requests the item, all check box variables are grouped together under a default title of Options. To use a custom
title, insert a variable of type label, with an Order value that puts it directly above the check box variables.
For additional layout options, you can also add container variables to a variable set.
Sets
86
Order
Alfa
100
Bravo
200
Charlie
300
Delta
400
Echo
500
Foxtrot
600
2 Columns
2 Columns Wide,
Wide,
one side, then the other
alternating sides
Alfa
Bravo
Charlie
Delta
Echo
Foxtrot
Alfa Bravo
Charlie Delta
Echo Foxtrot
Alfa Delta
BravoEcho
Charlie Foxtrot
Sets
87
Variable A (100)
Variable B (200)
Variable C (300)
Variable Set 1 (250) - containing three variables (VS1, VS2, VS3) with incremental order values (150, 250, 350)
Variable A (100)
Variable B (200)
Variable Set 1 (250): Variable VS1 (150)
Variable Set 1 (250): Variable VS2 (250)
Variable Set 1 (250): Variable VS3 (350)
Variable C (300)
Sets
88
As the catalog variable set order is specific to the link between the item and the variable set, it overrides the default
order defined on the variable set itself:
In Example A, the catalog variable set order field is empty. So the variable set order is used to position the
variables in the variable set with the item level variables. In this case the variables in the variable set are
positioned after the item level variables.
In Example B: the same logic applies as example A, however the variables in the variable set are positioned
between the item level variables
In example C, the layout for Item 2 positions the variables in the variable set first, by setting the order on the
catalog variable set record. This allows the layout to be changed on a per item basis and in this case the layout for
Item 1 (example A) is not affected.
Qualifiers
89
Qualifiers
Overview
Service catalog reference variables can use advanced reference qualifiers to restrict the available values for
choice-based variable types based on the result of a script or other variables on the catalog item.
For example, you could create a Location reference variable with a reference qualifier that restricts the available
location choices to those associated with groups in which the Requested For user is a member.
Note: This functionality requires knowledge of scripting.
Qualifiers
return 'sys_idIN' + answer;
}
Pricing
Overview
The price or recurring price of a catalog item can be modified with variables, increasing the base price for that item.
This is useful if you want the price or recurring price dynamically calculated based on how a user completes the
ordering form. For example, the cost of an item can be increased based on options the user selects, such as extra
memory in a PC.
The recurring price feature is available in the Calgary release.
Check box
Multiple choice
Reference
List collector
Select box
Lookup select box
Check Box
A check box variable can modify the price or recurring price of the item being ordered. Use the Price if checked or
Recurring price if checked field to specify the price or recurring price difference for that variable when the option
is selected.
Multiple Choice
For a multiple choice variable, there are two options:
Specify the price difference in the Price field on the question choices.
Specify the recurring price difference in the Recurring Price field on the question choices.
When a selection is made, the total ordering price or recurring price is dynamically updated to reflect the choice that
was selected.
90
Pricing
91
Select Box
Operates the same as a multiple choice variable, but is displayed as a select box.
Reference
A reference variable includes a Pricing implications field. If this field is selected and there is a price, u_price,
recurring_price or u_recurring_price field on the referenced table, the value of that field is used to modify the cost
of the item being ordered when a reference value is selected.
For example, suppose that computers in Phoenix cost $100 more than the ordering price and computers in Boise cost
$100 less than ordering price.
1.
2.
3.
4.
When ordering a computer, if Phoenix is selected as the location for this variable, the ordering price is increased by
$100. If Boise is selected, the ordering price is decreased by 100.
List Collector
Operates the same as a reference variable, but uses the List table field to specify the table being referenced. Since it
is a list collector variable; multiple selections can be made that all modify the ordering price or recurring price.
Auditable
92
Auditable
Overview
All changes to named service catalog variables are recorded in the audit history. Auditing is enabled by default for
service catalog variables.
These changes are displayed in:
The requested item history for all variables associated with the item.
The catalog task history for all variables that would normally be used by the task.
This auditing allows service catalog administrators to view a full history of changes to variables that may have
affected the parent record record, including their creation.
Note: Unnamed variables are not audited
Enabling Auditing
To enable auditing:
1. Navigate to System Properties > Service Catalog.
2. Locate the line Audit changes to Service Catalog Variables.
3. Select the Yes check box to enable auditing.
Scriptable
93
Scriptable
Overview
You can use scripting to reference any variables used by a request item from any table, referencing them as:
current.variables.<variable_name>
Where current refers to the current record, and <variable_name> is the name of your variable.
Note: In order to reference a variable from JavaScript, it must have a name.
Usage Examples
Print a Variable
var original = current.variables.original_number;
gs.print(original);
Set a Variable
current.variables.name = "Auto-Generated:" + current.variables.asset_tag;
Scriptable
94
Reporting
Overview
Administrators and catalog administrators can:
List and report on items and catalog tasks by variable usage, starting with the Eureka release.
You can also:
Create list reports that use service catalog variables and request items
Create list reports that use service catalog variables and tasks.
Reporting
95
Creating a Report
With Tasks
You can create a report with service
catalog variables and the associated
task records by creating a database
view between the Catalog Task
[sc_task] and Variable Ownership
[sc_item_option_mtom] tables. (The
Variable Ownership list report
Database Views plugin must be active
to create these reports.) The elements available for reports on the database view are:
Parent Item: references the request item
Task fields: appear in the available columns
Dependent Item: references the variables
To use variables in the report, dot-walk into the dependent item fields.
96
Scripting
Creating a Script
Overview
Client-side scripts can add dynamic effects and validation to forms. Scripts can apply to service catalog items or
variable sets, allowing administrators to use the same functionality that is available on other forms.
You can use client side scripts to:
Differences
Catalog client scripts are very similar to standard client scripts, with these important differences:
Instead of selecting a table such as Incident for the script, select a catalog item or variable set. As your system
may have a large number of catalog items, you should select a catalog item or variable set using a reference field
instead of the choice list that the standard Client Script form uses.
When using an onChange() catalog client script, it is linked to a particular variable instead of a field. The
system automatically populates the variable name selection list with any named variables from the catalog item or
variable set selected.
Considerations
When you create catalog client scripts, be aware of the following:
Catalog client scripts run when a user orders an item from the service catalog. Catalog client scripts can also run
when variables or variable sets for a catalog item are displayed when a user requests that item.
For a variable to be accessible using a catalog client script, it must have a variable name. Variables without names
do not appear in the list of available variables.
When using standard client scripts on a Requested Item or Catalog Task form, make a note of fields with the same
name as variables. If a table field and a variable of the same name are both present on a form, the table field is
matched when it is accessed using a script. If this happens, specifically address the variable by naming it
variables.<variable name>. For example: g_form.setValue('variables.replacement',
'false');
If you are using record producers to pass variables from the service catalog to other types of records, these
variables are made visible in those records with a variable editor, such as the Change Variable Editor UI formatter
on Change request forms. You can manipulate these variables using standard client script methods, such as
setDisplay, setMandatory, setValue, and getValue.
Catalog client scripts can be used for catalog items included in a wizard, starting with the Calgary release.
Creating a Script
97
Description
Name
Applies to
Active
Select the check box to enable the client script. Clear the check box to disable the script.
UI Type
Script
Enter the client script that should run on the service catalog item.
Type
Select a catalog item or variable set from the list. The field name and options available depend on the selection in the
Applies to field.
Applies on a Catalog
Item view
Select the check box to apply the catalog client script to catalog items displayed within the order screen on the service
catalog. Available starting with Calgary.
Applies on Requested
Items
Select the check box to apply the catalog client script on a Requested Item form, after the item is requested. Available
starting with Calgary.
Applies on Catalog Tasks Select the check box to apply the catalog client script when a Catalog Task form for the item is being displayed.
Available starting with Calgary.
Creating a Script
Script Samples
Here are some examples of client scripts to perform common actions.
Update a Cart
To access and update cart contents, use the GlideAjax CartAjaxProcessor class.
Note: Do not update the shopping cart using the client side implementation of GlideRecord to directly access the database and make
cart updates, as this bypasses business rules to check whether the cart already existed. If you use GlideRecord, each cart update
generates a new cart instead of updating the relevant cart, creating multiple duplicate carts.
The following example shows how you can use GlideAjax to update a user's address stored in a cart:
// Get new address from field and pass to method that updates the cart
function onChange(control, oldValue, newValue, isLoading) {
if (!isLoading && newValue != ''
&& g_form.getValue('location_listed') == 'Yes') {
var loc = g_form.getReference(location);
updateAddressInCart(g_user.userID,
loc.u_street + '\n' + loc.u_city + ', ' + loc.u_state + ' '
+ loc.u_postal_code);
}
}
function updateAddressInCart(userSysId, deliveryAddress) {
var cart = new GlideRecord('sc_cart');
// Client Side
GlideRecord
cart.addQuery('user', userSysId);
// pass in user id
cart.query();
// Execute the query
if (cart.next()) {
var ga = new GlideAjax('CartAjaxProcessor');
//
Class name
ga.addParam('sysparm_action', 'set_delivery_address');
//
method name
ga.addParam('sysparm_value', deliveryAddress);
//
98
Creating a Script
99
method arg
ga.addParam('sysparm_sys_id', cart.sys_id);
method arg
ga.getXMLAnswer(function() {}, null, null);
updates cart on server
}
}
//
//
Retrieve a Cart ID
This is the recommended method of obtaining the Cart ID, rather than using the client-side GlideRecord. This
function is available starting with the Eureka release.
function getCartId(userSysId) {
var ga = new GlideAjax('CartAjaxProcessor');
ga.addParam('sysparm_action', 'get_user_cart');
ga.addParam('sysparm_value', userSysId);
ga.getXML(DisplayCart);
result
}
//
//
//
//
Class name
method name
method arg
Callback to
function DisplayCart(response) {
Var cartSysId = response.responseXML.documentElement
.getElementsByTagName("sc_cart")[0].getAttribute("cart_sysid");
alert(cartSysId);
}
Currency
100
Currency
Overview
Administrators can use currency and price fields in scripts.
You can obtain currency values using:
getReference methods: apply to the system's base currency, when the item was created for the service catalog.
getCurrency methods: apply to the currency used by the customer who ordered the item.
getSession methods: apply to the currency of the currently logged-in user viewing the item, for example, a
member of a fulfillment group processing the order.
Description
Example value
returned
USD
current.price.getReferenceDisplayValue()
The price, including the currency symbol, in the base system currency.
$600.00
current.price.getReferenceValue()
600
current.price.getSessionCurrencyCode()
EUR
current.price.getSessionDisplayValue()
(or current.price.getDisplayValue()
or current.price)
449.75
current.price.getSessionValue()
449.75
current.price.getCurrencyCode()
The currency ISO code, in the currency used when the item was ordered.
GBP
current.price.getCurrencyDisplayValue()
373.83
current.price.getCurrencyString()
A string including the ISO code as well as the price, in the currency used
when the item was ordered.
GBP;373.83
current.price.getCurrencyValue()
The price, in the currency used when the item was ordered.
373.83
Note: Currency symbols are displayed on the left or the right of the currency as appropriate.
Currency
101
Examples
current.price=1000
This sets the current price = 1,000 of whatever the current session currency is. For example, for a Japanese user, the
price is JPY (Japanese Yen) 1,000.
current.price='USD;1000'
Sets the current price = 1,000 USD.
Script API
102
Script API
Overview
A scriptable API for the service catalog makes it easier to order from the catalog when using business rules.
The cart API allows you to order any quantity of catalog items, using the sys_id of the Catalog Item [sc_cat_item]
you want. You can then set catalog variables to values as required, assuming the variables have names.
Note: If the script runs as a result of a scheduled import, the script runs as system or as the user specified by that import in the Run
as field. The script uses the specified users cart. Each call to new Cart() empties the cart of the calling user, but does not use or
empty any other carts.
Examples
Ordering a single BlackBerry:
var cart = new Cart();
var item = cart.addItem('e2132865c0a8016500108d9cee411699'); var rc =
cart.placeOrder(); gs.addInfoMessage(rc.number);
Ordering twelve BlackBerries:
var cart = new Cart();
var item = cart.addItem('e2132865c0a8016500108d9cee411699', 12); var
rc = cart.placeOrder(); gs.addInfoMessage(rc.number);
Ordering an executive desktop and setting its OS:
var cart = new Cart();
var item = cart.addItem('e46305bdc0a8010a00645e608031eb0f');
cart.setVariable(item, 'os', 'Linux Red Hat');
var rc = cart.placeOrder();
gs.addInfoMessage(rc.number);
Custom Cart
Custom Cart
Overview
Administrators with a knowledge of Jelly can customize the look and feel of service catalog carts, either globally or
for specific catalog items, using our UI macro capability. Once created, a custom cart can be reused and linked to
catalog items.
Creating a Cart
1. Navigate to System UI > UI Macros.
2. Click New to create a new macro.
3. Fill in the details and write the script to define your custom cart.
Note: Designing a custom cart requires knowledge of the Jelly [1] expression language.
For reference purposes, the default cart script appears in the list as catalog_cart_default.
4. Click Submit.
Example
In the example below, the HP bl35p uses the irm_technical_cart.
103
Custom Cart
References
[1] http:/ / commons. apache. org/ jelly/
Execution Plans
Overview
Each catalog item has an associated execution plan, used whenever an item of that type is ordered; if no plan is
specified, ServiceNow uses the default plan. This default is effective for most organizations, but your execution plan
may need to vary based on additional criteria.
For example, in the base system service catalog, a request for a new PC always uses the PC Delivery Plan. However,
this plan may need to vary for unusual circumstances - such as when a requester is working from home, at a remote
location.
To provide this flexibility, you can use a script to override the default execution plan on a specific catalog item.
104
Execution Plans
The script runs each time that item is requested, selecting the execution plan to run with that item.
105
106
107
108