How to get RITM & Catalog Item details from sysapproval_approver user Based

ronaldanand
Tera Contributor

Hi all

How to fetch the details from sysapproval_approver table based inactive user Pending Approval Items

I need to display RITM, Catalog Item and Approver details, I Used below script but RITM & Ctalog item not displaying Properly ,Kindly check and help me to fix this issue

 

    var sysapprv = new GlideRecord('sysapproval_approver');
    sysapprv.addQuery('state', 'Requested');
    sysapprv.addQuery('source_table', 'sc_req_item ');
    sysapprv.addQuery('approver', '68e87eab0ff9310039190bcce1050e7b');
    sysapprv.query();
    var counts = sysapprv.getRowCount();
    gs.print('andrewww---->'+counts);


if( counts > 0)
{
    
    while (sysapprv.next())
    {
        
       gs.print('RITM'+  sysapprv.number.getDisplayValue());
       gs.print('ITEM'+ sysapprv.cat_item.name.getDisplayValue());
gs.print('Approver'+ sysapprv.approver.getDisplayValue());
    
    }    
    }

 

Thanks

1 ACCEPTED SOLUTION

Below worked for me to get value but not count.

var sysapprv = new GlideAggregate('sysapproval_approver');
sysapprv.addQuery('state', 'requested');
sysapprv.addQuery('sysapproval.table', 'sc_req_item');
sysapprv.addQuery('approver', '68e87eab0ff9310039190bcce1050e7b');
sysapprv.query();
var counts = 0;
if(sysapprv.next()){
	counts = sysapprv.getAggregate('COUNT');
	gs.print('RITM: '+  sysapprv.sysapproval.getDisplayValue());
	gs.print('ITEM: '+ sysapprv.sysapproval.cat_item.getDisplayValue());
	gs.print('Approver: '+ sysapprv.approver.getDisplayValue());
}    

View solution in original post

10 REPLIES 10

try

var sysapprv = new GlideAggregate('sysapproval_approver');
sysapprv.addQuery('state', 'requested');
sysapprv.addQuery('sysapproval.table', 'sc_req_item');
sysapprv.addQuery('approver', '68e87eab0ff9310039190bcce1050e7b');
sysapprv.addAggregate('COUNT');
sysapprv.query();
var counts = 0;
if (sysapprv.next()){
	counts = sysapprv.getAggregate('COUNT');
	gs.print('RITM'+  sysapprv.sysapproval.getDisplayValue());
	gs.print('ITEM'+ sysapprv.sysapproval.cat_item.getDisplayValue());
	gs.print('Approver'+ sysapprv.approver.getDisplayValue());
}    

 

i tried Both suggestion but still it not showing RITM & CAT ITEM & APPROVER also

 

*** Script: RITM
*** Script: ITEMundefined
*** Script: Approver

Below worked for me to get value but not count.

var sysapprv = new GlideAggregate('sysapproval_approver');
sysapprv.addQuery('state', 'requested');
sysapprv.addQuery('sysapproval.table', 'sc_req_item');
sysapprv.addQuery('approver', '68e87eab0ff9310039190bcce1050e7b');
sysapprv.query();
var counts = 0;
if(sysapprv.next()){
	counts = sysapprv.getAggregate('COUNT');
	gs.print('RITM: '+  sysapprv.sysapproval.getDisplayValue());
	gs.print('ITEM: '+ sysapprv.sysapproval.cat_item.getDisplayValue());
	gs.print('Approver: '+ sysapprv.approver.getDisplayValue());
}    

try below to get both

var sysapprv = new GlideAggregate('sysapproval_approver');
sysapprv.addQuery('state', 'requested');
sysapprv.addQuery('sysapproval.sys_class_name','sc_req_item');
sysapprv.addQuery('approver', '68e87eab0ff9310039190bcce1050e7b');
sysapprv.addAggregate('COUNT');
sysapprv.query();
var counts = 0;
if(sysapprv.next()){
	counts = sysapprv.getAggregate('COUNT');
if(counts > 1){
		var gr = new GlideRecord("sysapproval_approver");
		gr.addQuery('state', 'requested');
		gr.addQuery('sysapproval.sys_class_name', 'sc_req_item');
		gr.addQuery('approver', '68e87eab0ff9310039190bcce1050e7b');
		gr.query();
		if (gr.next()) {
			gs.print('RITM: '+  gr.sysapproval.getDisplayValue());
			gs.print('ITEM: '+ gr.sysapproval.cat_item.getDisplayValue());
			gs.print('Approver: '+ gr.approver.getDisplayValue());
		}
	}

}    

Hi Mike ,

I have some issue in calculating business days - I posted my query https://community.servicenow.com/community?id=community_question&sys_id=5ec6939adb227384fff8a345ca96....Please check and help to fix this issue.