Skip to main content

configuration item filter: pull back list of CI sys ids linked to service offering field

 further to my previous post regarding applying a filter to the configuration item field (e.g. on incident), following will retrieve a list of the following business service to child relationships (highlighted seems necessary so as not to pack the array with the same array multiple times!)

if (sCI_filter == 'linked to service offering' && !gs.nil(current.service_offering)) { var sSOquery='^parent.sys_class_name=service_offering^parent='+current.service_offering; var sRelType='55c95bf6c0a8010e0118ec7056ebc54d';//--Contains::Contained by var sSYSIDs= this._u_getCMDBrelCI_CIs(sSOquery, sRelType); configItemFilter +='^sys_idIN'; configItemFilter +=sSYSIDs; //gs.log(sSYSIDs,'TaskUtilsSNC:getConfigurationItemFilter'); }




_u_getCMDBrelCI_CIs: function (relationshipQuery, relType){ var sysIds=[]; var grRelCI=new GlideRecord('cmdb_rel_ci'); grRelCI.addQuery(relationshipQuery + '^type=' + relType); grRelCI.query(); while (grRelCI.next()){ sysIds.push(grRelCI.child.sys_id.toString()); } return sysIds; },

Comments

Popular posts from this blog

Get URL Parameter - server side script (portal or classic UI)

Classic UI : var sURL_editparam = gs . action . getGlideURI (). getMap (). get ( ' sysparm_aparameter ' ); if ( sURL_editparam == 'true' ) { gs . addInfoMessage ( 'parameter passed ); } Portal : var sURL_editparam = $sp . getParameter ( " sysparm_aparameter " ); if ( sURL_editparam == 'true' ) { gs . addInfoMessage ( 'parameter passed ); }

URL link in addInfoMessage

var ga=new GlideAjax('gld_HR_ajax'); ga.addParam('sysparm_name', 'checkEmployeeNumber_hrProfile'); ga.addParam('sysparm_hrprofilenumber', g_form.getValue('number')); ga.addParam('sysparm_employeenumber', newValue); ga.getXMLAnswer(function(answer) { if (answer!='undefined' && answer!=''){ var navURL="<a style='text-decoration:underline;color:blue' href=hr_profile.do?sysparm_query=number=" + answer + ">" + answer + "</a><img width='3' src='images/s.gif'/>"; var sMsg='The employee number entered already exists on another HR Profile ' + navURL; //alert(sMsg); g_form.showErrorBox('employee_number', 'error - please check'); g_form.addInfoMessage(sMsg); } });