How to count the number of task assigned to a request number ?

zica
Giga Guru

Hello There,

I started to work on servicenow recently and I am stuck. I really need your help. I have one question about the topic above.

-> I want to count the number of tasks for each request when the user click in the request row to open the request.

Let me explain : Le'ts say for example that the request number REQ001 has got 3 tasks (RITM0021, RITM002, RITM003). When the user click on REQ001, I want to collect that there is 3 tasks assigned to this request number.

This is the script I have written into UI ACTIONS, but It's not working :

var reqItems = new GlideAggregate('sc_req_item');

reqItems.addQuery('current.number');

reqItems.addAggregate('COUNT');

reqItems.query();

if (reqItems.next()) {

        alert('task count: ' + reqItems.rows.length);

}

Thank you so much for your help

1 ACCEPTED SOLUTION

Vimal Priya
Giga Guru

Zic,


Its working fine in my instance.


Try doing in your instance.


Mark the answers helpful and correct .


View solution in original post

30 REPLIES 30

Ya sure We are here to help.


Instead of creating UI action put the above code in a display business rule on Request [sc_request] table.


Thank you very much


I have copy the code in business Rules.


The script returns me ; "task count: 1" whereas the request has got 2RITM.


I want to count the number of RITM of one request.



Kind Regards


I checked it. It works fine. Please check again how many RITMs that REQ is having.


screenCapture_20150715_112155.PNG


Hi AKb Zic Tanaji Patil



There's actually a minor error on the script. Instead of an if try using a while




while (req.next()) {


  gs.addInfoMessage('RITM count: ' + req.getAggregate('COUNT'));


}



Thanks,


Berny


With the if it will just take the first item, but with the while it will loop through all the items returned by the GlideRecord query.



Thanks,


Berny