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
Post a Comment