Welcome to Community Week 2025! Join us to learn, connect, and be recognized as we celebrate the spirit of Community and the power of AI. Get the details  

need to auto populate impacted services from affected cis in the related list

archie5
Tera Expert

I need to auto-populate impacted services from affected cis in the related list.

find_real_file.pngI have written a display BR below which is not populating services, Can you tell me what's missing?

function onDisplay(current, g_scratchpad) {
removeAffectedServices(current);
if (!current.cmdb_ci.nil()) {
addAffectedServices(current);
}
}
function removeAffectedServices(current) {
var m2m = new GlideRecord('task_cmdb_ci_service');
m2m.addQuery('task',current.sys_id);
m2m.addQuery('manually_added','false');
m2m.query();
m2m.deleteMultiple();
}
function addAffectedServices(current) {
var affectedItem = new GlideRecord('task_ci');
affectedItem.addQuery('task', current.sys_id);
affectedItem.query();
var aff_ci;
while (affectedItem.next()) {
aff_ci = affectedItem.ci_item.toString();
var ciu = new CIUtils();
var services = ciu.servicesAffectedByCI(aff_ci);
var m2m = new GlideRecord('task_cmdb_ci_service');
for (var i = 0; i < services.length; i++) {
m2m.initialize();
m2m.task = current.sys_id;
m2m.cmdb_ci_service = services[i];
m2m.manually_added = 'false';
m2m.insert();
}
}
}

 

 

6 REPLIES 6

VigneshMC
Mega Sage

I think this has to be a after insert /delete BR on affected CI's table

(function executeRule(current, previous /*null when async*/) {

if(current.operation()=='insert'){
	var impacted_ci = new GlideRecord('task_cmdb_ci_service');
	impacted_ci.initialize();
	impacted_ci.task = current.task;
	impacted_ci.cmdb_ci_service = current.ci_item;
	impacted_ci.insert();
}
	else{
		var impacted_ci_del = new GlideRecord('task_cmdb_ci_service');
	impacted_ci_del.addQuery('task',current.task);
	impacted_ci_del.addQuery('cmdb_ci_service',current.ci_item);
	impacted_ci_del.query();
	while(impacted_ci_del.next()){
	impacted_ci_del.delete();
	}
	}

})(current, previous);

 

I have to show this on change record. Have to add impacted services based on affected ci for the corresponding change record.

find_real_file.png

Hi,

you need to populate the records in that related list table based on the affected cis

Mark Correct if this solves your issue and also mark 👍 Helpful if you find my response worthy based on the impact.
Thanks
Ankur

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

Hi Ankur,

Thank for your reply.  I have add the service 'Services Test' for this server 'SAP AppSRV01'.

find_real_file.pngfind_real_file.png

find_real_file.pngBut nothing got populated in the Impacted services. What else do I need to do?

 

Regards,

Archie