Skip to content
Release: Australia · Updated: 2026-03-12 · Official documentation · View source

CatCategory- Scoped

The CatCategory API provides methods that enable you to create and modify service catalog categories using scripts.

This API runs in the sn_sc namespace.

Important: This API is accessible; however, the recommended implementation is the Service Catalog REST API.

Parent Topic:Server API reference

CatCategory - availableForUserCriteria(String action, Array criteriaIDs)

Adds the Available For user criteria to the current catalog category.

NameTypeDescription
actionStringAction to perform.- add: Adds the user criteria to the Available For list. - delete: Deletes the user criteria from the Available For list.
criteriaIDsArrayArray of the user criteria sys\_ids.
TypeDescription
void 
var item = new sn_sc.CatCategory("31bea3d53790200044e0bfc8bcbe5dec");
item.availableForUserCriteria("add", ["0c441abbc6112275000025157c651c89"]);

CatCategory - canView(Boolean isMobile, String userSysId)

Determines whether a specified user can view a specified category on a mobile device or desktop.

NameTypeDescription
isMobileBooleanFlag that indicates whether to verify the user for access on a mobile device or desktop.- true: Validate for mobile. - false: Validate for desktop.
userSysIdStringSys\_id of the user to validate.
TypeDescription
BooleanFlag that indicates whether the user can view the associated category.- true: User can view the category. - false: User cannot view the category.
var scopedCategoryObj = new sn_sc.CatCategory('7b1262b9530033007444ddeeff7b12ae');
scopedCategoryObj.canView(false, '62826bf03710200044e0bfc8bcbe5df1');

CatCategory - create(Boolean standardUpdate)

Insert the defined category.

NameTypeDescription
standardUpdateBooleanFlag that indicates whether to enable the running of engines and workflow.Valid values: - true: Enable engines and workflow. - false: Do not enable engines and workflow.
TypeDescription
StringSys_id of the inserted variable record.
var categoryCreate = new sn_sc.CatCategory();
categoryCreate.setAttributes({"title" : "test a scoped category", "sc_catalog" : "e0d08b13c3330100c8b837659bba8fb4"});
var categorySysId = categoryCreate.create();
var isValidSysId = categorySysId.match(/^[0-9a-fA-F]{32}$/) == null ? false : true;
global.Assert.assertEquals(true, isValidSysId,"CategorySysId: ["+ categorySysId +"] is not valid", true, isValidSysId);

CatCategory - deleteRecord(Boolean standardUpdate)

Deletes the category record on which the CatCategory class was initially instantiated.

NameTypeDescription
standardUpdateBooleanFlag that indicates whether to enable the running of engines and workflow.Valid values: - true: Enable engines and workflow. - false: Do not enable engines and workflow.
TypeDescription
void 
var categoryDelete = new sn_sc.CatCategory(categorySysId);
categoryDelete.deleteRecord();
var category = new sn_sc.CatCategory(categorySysId);
values = category.read({"title" : "", "sc_catalog":""}, false);
global.Assert.assertEquals("", values.title,"Category should title");

CatCategory - getID()

Returns the sys_id of the current category.

NameTypeDescription
None  
TypeDescription
StringSys_id of the current category.

Example:

var cart = new sn_sc.CatCategory("2809952237b1300054b6a3549dbe5dd4");
var categoryID = cart.getID();
gs.info(categoryID);

Output:

2809952237b1300054b6a3549dbe5dd4

CatCategory - notAvailableForUserCriteria(String action, Array[] criteriaIDs)

Adds the Not Available For user criteria to a catalog category.

NameTypeDescription
actionStringAction to perform.- add: Adds the user criteria to the Not Available For list. - delete: Deletes the user criteria from the Not Available For list.
TypeDescription
void 
var item = new sn_sc.CatCategory("31bea3d53790200044e0bfc8bcbe5dec");
item. notAvailableForUserCriteria("add", ["0c441abbc6112275000025157c651c89"]);

CatCategory - read(Object columns, Boolean standardUpdate)

Returns a mapping of the category.

NameTypeDescription
columnsObjectSet of columns that you would like the values for.
standardUpdateBooleanFlag that indicates whether to enable the running of engines and workflow.Valid values: - true: Enable engines and workflow. - false: Do not enable engines and workflow.
TypeDescription
ObjectMapping of column names to values.
var category = new sn_sc.CatCategory("a96277509f300200b407b89a442e704e");
var values = category.read({"title" : ""}, true);
gs.log(values.title);

CatCategory - setAttributes(Object attributes)

Defines the attribute values for this category.

NameTypeDescription
attributesObjectAttributes for the new field and value pairs.
TypeDescription
void 
var categoryCreate = new sn_sc.CatCategory();
categoryCreate.setAttributes({"title" : "test a scoped category", "sc_catalog" : "e0d08b13c3330100c8b837659bba8fb4"});
var categorySysId = categoryCreate.create();
var isValidSysId = categorySysId.match(/^[0-9a-fA-F]{32}$/) == null ? false : true;
global.Assert.assertEquals(true, isValidSysId,"CategorySysId: ["+ categorySysId +"] is not valid", true, isValidSysId);

CatCategory - setTableName(String tableName)

Defines the table name for this category.

NameTypeDescription
tableNameStringName of the table that extends sc_category.
TypeDescription
void 
var categoryRead = new sn_sc.CatCategory(categorySysId);
categoryRead.setTableName("test_category");
var values = categoryRead.read({"title" : "", "sc_catalog":"", "test": ""}, false);
gs.info(categorySysId);
gs.info(values.title);
gs.info(values.test);
global.Assert.assertEquals("testValue", values.test,"Category extends sc_category and stores its extended value");

CatCategory - update(Object columnValues, Boolean standardUpdate)

Updates the current category with the specified name-value pairs.

NameTypeDescription
columnValuesObjectMapping of column names to values.
standardUpdateBooleanFlag that indicates whether to enable the running of engines and workflow.Valid values: - true: Enable engines and workflow. - false: Do not enable engines and workflow.
TypeDescription
void 
var categoryUpdate = new sn_sc.CatCategory(categorySysId);
categoryUpdate.update({"title" : "test changed scoped category"}, true);
values = categoryUpdate.read({"title" : "", "sc_catalog":""}, false);
global.Assert.assertEquals("test changed scoped category", values.title,"Category should title");