The CreatorCon Call for Content is officially open! Get started here.

Could someone please explain the below code?

Venkat141
Tera Contributor

Could someone please explain what and how it's querying. and what is options.sys_class_list?

 

// populate the 'data' object
// e.g., data.table = $sp.getValue('table');
data.outageArr = [];
data.degradationArr = [];
data.plannedArr = [];
var outage = new GlideRecord("cmdb_ci_outage");
outage.addQuery("cmdb_ci.sys_class_name", "IN", options.sys_class_list || "cmdb_ci_service");
outage.addQuery("begin", "<=", gs.nowNoTZ());
 
outage.addQuery("end", ">=", gs.nowNoTZ()).addOrCondition("end", "=", "NULL");
data.service = (input && input.service) || $sp.getParameter("service");
if (!GlideStringUtil.nil(data.service)) {
  outage.addQuery("cmdb_ci", data.service);
var serviceGR = new GlideRecord("cmdb_ci_service");
if (serviceGR.get(data.service))
data.serviceDisplay = serviceGR.getDisplayValue();
}
outage.query();
data.outages = [];
data.outageIDs = "";
while (outage.next()) {
var out = {};
out.typeDisplay = outage.type.getDisplayValue();
out.type = outage.getValue("type");
out.details = outage.getValue("details");
out.ci = outage.cmdb_ci.getDisplayValue();
out.serviceID = outage.getValue("cmdb_ci");
out.begin = outage.begin.getDisplayValue();
if(outage.getValue('type') == 'outage'){
data.outageArr.push(out);
}
else if(outage.getValue('type') == 'degradation'){
data.degradationArr.push(out);
}
else if(outage.getValue('type') == 'planned'){
data.plannedArr.push(out);
}
else
  data.outages.push(out);
data.outageIDs += "," + outage.getUniqueValue();
}
data.outages = data.outageArr.concat(data.degradationArr);
data.outages = data.outages.concat(data.plannedArr);

 

1 REPLY 1

Harish Bainsla
Kilo Patron
Kilo Patron

Hi

It seems to be querying a ServiceNow table called "cmdb_ci_outage" to retrieve outage records based on certain criteria.

Overall, this script retrieves outage records from the "cmdb_ci_outage" table based on certain criteria, categorizes them by type, and prepares the data for further processing or display, likely in a ServiceNow application or interface.