Skip to main content

ServiceNow using GlideRecord within a GlideAggregate to access an additional column value

 ServiceNow using GlideRecord within a GlideAggregate to access an additional column value

(I wonder if there might be a smarter way of doing this?)


var sQuery='status=1^profile!=NULL';//--status=active
var sTable='x_cls_clear_skye_i_account';
var sField='profile';
var sField2='name';
var iCountValue=1;
var dupls=checkDupl (sQuery, sField, sField2, sTable, iCountValue);
gs.print(dupls);

function checkDupl(customQuery, fieldParam,fieldParam2, table, iCountValue){
var ga= new GlideAggregate(table);
ga.addAggregate('COUNT', fieldParam);
ga.orderByAggregate('count', fieldParam);
ga.orderBy(fieldParam);
if (customQuery){
ga.addQuery(customQuery);
}
ga.addHaving('COUNT', '>', iCountValue);
ga.query();
var dupls=[];
dupls.push("The following " + ga.getRowCount() + " records have matching on " + fieldParam + ": " );
while (ga.next()) {
var DuplLine=ga.getAggregate('COUNT', fieldParam) + " => " + ga.getElement(fieldParam) + "; " + ga.getDisplayValue(fieldParam);

var gr=new GlideRecord(table);
if (gr.get(fieldParam, ga.getElement(fieldParam))){
DuplLine=DuplLine+'; ' + gr.getValue(fieldParam2);
}
dupls.push(DuplLine);
//break;
}
//gs.log(dupls,'duplWidget_arr');
return dupls;
}



(ServiceNow )

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); } });