Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

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