LogiUpSkill

Glide Aggregate - Scripting

1. To find no of records in table

var g= new GlideAggregate(‘incident’);

g.addAggregate(‘COUNT’);

g.query();

var incident= 0;

if(g.next()){

incident= g.getAggregate(“COUNT”);

}

gs.print(‘The Number of incidents are=’+incident);

2. To find no of incidents with caller Pallavi using addEncodedQuery

var g= new GlideAggregate(‘incident’);

g.addEncodedQuery(‘caller_id=681ccaf9c0a8016400b98a06818d57c7’);//Sys_id of Pallavi

g.addAggregate(‘COUNT’);

g.query();

var incident=0;

if(g.next()){

incident=g.getAggregate(‘COUNT’);

}

gs.print(‘Number of incidents with caller Pallavi=’+incident);

3. To find no of incidents where assigned to field is not empty

var g=new GlideAggregate(‘incident’);

g.addNotNullQuery(‘assigned_to’);

g.addAggregate(‘COUNT’);

g.query();

var incident=0;

while(g.next()){

incident=g.getAggregate(‘COUNT’);

}

gs.print(‘number of incident where assigned to field is not empty=’+incident);

4. To find no of incidents where assigned to field is empty

var g=new GlideAggregate(‘incident’);

g.addNullQuery(‘assigned_to’);

g.addAggregate(‘COUNT’);

g.query();

var incident=0;

while(g.next()){

incident=g.getAggregate(‘COUNT’);

}

gs.print(‘number of incident where assigned to field is empty=’+incident);

5. To find number of incidents with state new

var g=new GlideAggregate(‘incident’);

g.addQuery(‘state’, ‘1’);

g.addAggregate(‘COUNT’);

g.query();

var incident=0;

while(g.next()){

incident=g.getAggregate(‘COUNT’);

}

gs.print(‘number of incident with state new=’+incident);

6. To find number of incidents active true

var g=new GlideAggregate(‘incident’);

g.addQuery(‘active’, ‘true’);

g.addAggregate(‘COUNT’);

g.query();

var incident=0;

while(g.next()){

incident=g.getAggregate(‘COUNT’);

}

gs.print(‘number of incidents=’+incident);

7. To find no of incidents with different category

var g =new GlideAggregate(‘incident’);

g.addQuery(‘active’,’true’);

g.addAggregate(‘COUNT’,’category’);

g.query();

while(g.next()){

category = g.category;

categoryCount = g.getAggregate(‘COUNT’,’category’);

}

gs.log(“The are currently “+ categoryCount +” incidents with a category of “+ category);lideAggregate(‘incident’);

g.addAggregate(‘COUNT’);

g.query();

var incident= 0;

if(g.next()){

incident= g.getAggregate(“COUNT”);

}

gs.print(‘The Number of incidents are=’+incident);

8. To find no of incidents with caller Pallavi using addEncodedQuery

var g= new GlideAggregate(‘incident’);

g.addEncodedQuery(‘caller_id=681ccaf9c0a8016400b98a06818d57c7’);//Sys_id of Pallavi

g.addAggregate(‘COUNT’);

g.query();

var incident=0;

if(g.next()){

incident=g.getAggregate(‘COUNT’);

}

gs.print(‘Number of incidents with caller Pallavi=’+incident);

9. To find no of incidents where assigned to field is not empty

var g=new GlideAggregate(‘incident’);

g.addNotNullQuery(‘assigned_to’);

g.addAggregate(‘COUNT’);

g.query();

var incident=0;

while(g.next()){

incident=g.getAggregate(‘COUNT’);

}

gs.print(‘number of incident where assigned to field is not empty=’+incident);

10. To find no of incidents where assigned to field is empty

var g=new GlideAggregate(‘incident’);

g.addNullQuery(‘assigned_to’);

g.addAggregate(‘COUNT’);

g.query();

var incident=0;

while(g.next()){

incident=g.getAggregate(‘COUNT’);

}

gs.print(‘number of incident where assigned to field is empty=’+incident);

11. To find number of incidents with state new

var g=new GlideAggregate(‘incident’);

g.addQuery(‘state’, ‘1’);

g.addAggregate(‘COUNT’);

g.query();

var incident=0;

while(g.next()){

incident=g.getAggregate(‘COUNT’);

}

gs.print(‘number of incident with state new=’+incident);

12. To find number of incidents active true

var g=new GlideAggregate(‘incident’);

g.addQuery(‘active’, ‘true’);

g.addAggregate(‘COUNT’);

g.query();

var incident=0;

while(g.next()){

incident=g.getAggregate(‘COUNT’);

}

gs.print(‘number of incidents=’+incident);

13. To find no of incidents with different category

var g =new GlideAggregate(‘incident’);

g.addQuery(‘active’,’true’);

g.addAggregate(‘COUNT’,’category’);

g.query();

while(g.next()){

category = g.category;

categoryCount = g.getAggregate(‘COUNT’,’category’);

}

gs.log(“The are currently “+ categoryCount +” incidents with a category of “+ category);

Glide Record - Scripting

1. To find out number of active incidents

var incident=new GlideRecord(‘incident’);

incident.addQuery(‘active’, ‘true’);

incident.query();

gs.print(“Row count =”+incident.getRowCount());


2. To find out list of active incidents

var incident=new GlideRecord(‘incident’);

incident.addQuery(‘active’, ‘true’);

incident.query();

gs.print(“Row count =”+incident.getRowCount());

gs.print(“List of Incidents”);

while(incident.next()){

gs.print(‘Incident number’+incident.number);

}


3. To find out no of incidents assigned to admin userid

var gr= new GlideRecord(“incident”);

var p= gs.getUserID(“admin”);

gr.addQuery(“assigned_to”,p);

gr.query();

gs.print(“No of incidents=”+gr.getRowCount());

while(gr.next()){

gs.print(gr.number);

}


4. To find out no of incidents assigned to current user

var gr= new GlideRecord(“incident”);

var p= gs.getUserID();

gr.addQuery(“assigned_to”,p);

gr.query();

gs.print(“No of incidents=”+gr.getRowCount());

while(gr.next()){

gs.print(gr.number);

}


5. How many incidents with category hardware?

var g= new GlideRecord(“incident”);

g.addQuery(“category”,”hardware”);

g.query();

gs.print(“No of incidents with category hardware=”+g.getRowCount());

while(g.next()){

gs.print(g.number);

}


6. How many incidents with “Assigned To” value contains name admin?

var gr=new GlideRecord(‘incident’);

gr.addQuery(‘assigned_to.name’,’CONTAINS’,’admin’);

gr.query();

var a= gr.getRowCount();

gs.print(a);

while(gr.next){

gs.print(gr.number);

}


7. Get all the incident which has Assigned to user having first name contains name admin word

var gr= new GlideRecord(‘incident’);

//gr.addEncodedQuery(‘assigned_toLIKEadmin’);

//gr.addEncodedQuery(‘assigned_to.first_name.admin’);

gr.addEncodedQuery(‘GOTOassigned_to.first_nameLIKEadmin’);

/* var user= gs.getUserName(‘admin’);

var admin=gr.addQuery(‘user’,admin);

gr.addQuery(‘assigned_to’,user); */

//gr.addQuery(‘assigned_to’,’CONTAINS’,’admin’);

gr.query();

while(gr.next()){

var count=gr.getRowCount();

}

gs.print(count);

 

8. To find out number incidents which are resolved or closed

var incident=new GlideRecord(‘incident’);

incident.addQuery(‘state’, ‘6’).addOrCondition(‘state’, ‘7’); // resolved=6 and closed=7

incident.query();

gs.print(“Row count =”+incident.getRowCount());

 

9. Print first 4 Incident’s where caller’s first name start with Meghana

var gr =new GlideRecord(“incident”);

gr.addQuery(“caller.first_name”,”STARTSWITH”,”Meghana”);

gr.orderBy(‘number’);

gr.chooseWindow(0, 4);

gr.query();

while(gr.next()){

gs.print(gr.number)

}

10. Print the incident number using sys_id

var gr = new GlideRecord(‘incident’);

if (gr.get(’46cd8aaa2fe318104f7fdb9df699b604′))  //Sys id of record

    gs.print(gr.number);

 

11. Print out first 4 incidents orderby number

var gr = new GlideRecord(‘incident’);

gr.orderBy(‘number’); // Ascending Order

gr.chooseWindow(0, 4);

gr.query();

while (gr.next()) { 

  gs.print(gr.number);

}

12. Print 10 incidents by descending order of created date

var gr = new GlideRecord(‘incident’);

gr.orderByDesc(‘sys_created_on’);  // this will be descending order but by default will be ascending order and 

gr.setLimit(10);

gr.query();    

while(gr.next()){

gs.print(gr.number);

}

 

13. Delete the records from Table

var gr = new GlideRecord(“incident”);

gr.addQuery(“state”,3); //to delete all inactive incidents

gr.query();

gr.deleteMultiple();

var gr = new GlideRecord(“incident”);

//to delete one record

if (gr.get(“SYS_ID_OF_RECORD”))

gr.deleteRecord();

Business Rule and Script Include Example

Script Include and Business Rule Example:

Business Rule: (After Insert)

(function executeRule(current, previous /*null when async*/) {
var createP=new ProblemUtils();
var problemSysid=createP.createProblemRecord(current); //Create a Problem

var getProblemRecrod=createP.getRecrodNumber(problemSysid,”problem”);  //get Problem Number

createP.updateParent(getProblemRecrod,”problem”,current); // Update problem with Parent field

gs.addInfoMessage(getProblemRecrod);
})(current, previous);

 

Script Include:(Not Client Callable)

var ProblemUtils = Class.create();
ProblemUtils.prototype = {
initialize: function() {
},

createProblemRecord:function(current){

var createProblem=new GlideRecord(“problem”); // GlideRecord API is used to Query the table, Table name=problem

createProblem.initialize(); // initialization of object

createProblem.short_description=current.short_description + “Assingedto:” +current.assigned_to.name; //mapping

createProblem.assigned_to=current.assigned_to; ////mapping

createProblem.assignment_group=current.assignment_group; //mapping

createProblem.description=current.description ; //mapping

var problemSysid=createProblem.insert();

return problemSysid;
},

getRecrodNumber:function (sysid,tableName){

var getNumber=new GlideRecord(“”+tableName);
getNumber.addQuery(“sys_id”,sysid);
getNumber.query();
if(getNumber.next()){
return getNumber.number;
}else{

return “No Record found”;
}

},

updateParent:function(number,tableName,current){

var getNumber=new GlideRecord(“”+tableName);
getNumber.addQuery(“number”,number);
getNumber.query();
if(getNumber.next()){
getNumber.parent=current.sys_id;
getNumber.description=current.number;
getNumber.update();
}

},

type: ‘ProblemUtils’
};

Server Side Script

Leave a Reply

Your email address will not be published. Required fields are marked *