Business Rule to make checkbox true

Divya choudhary
Giga Expert

Hi,

We have a Brand table in which I have created a list controller location field to select multiple location in one brand. And we have an application services table which has brand field referencing to brand table and location field referencing to location table and i have created a checkbox in this table.

The requirement is when we add any location in the multiple select field in brand table then it should make checkbox true of the application service related to that brand and location.

Say in Brand : dove we have locations US,Gemany&Australia and if we add any location suppose India to it then in application service table below application service checkbox should be true:

application service: dove.us, brand-dove,location-US

application service: dove.gr, brand-dove,location-Germany

application service: dove.aus, brand-dove,location-Australia

application service: dove.india, brand-dove,location-India

below is the after BR when location changes that i have written but its not working:

(function executeRule(current, previous /*null when async*/ ) {

// Add your code here
var dollar = new GlideRecord('u_cmdb_ci_application_service');
dollar.addQuery(u_brand, current.u_name);
dollar.addQuery(location, current.u_billion_dollar_brand_location);
dollar.query();
while (dollar.next()) {
dollar.u_billion_dollar_brand=true;
dollar.update();
}


})(current, previous);

 

1 ACCEPTED SOLUTION

then try this one 

 

(function executeRule(current, previous /*null when async*/ ) {

// Add your code here
var dollar = new GlideRecord('u_cmdb_ci_application_service');
dollar.addQuery('u_brand', current.sys_id);
dollar.addQuery('location','IN', current.u_billion_dollar_brand_location.toString());
dollar.query();
while (dollar.next()) {
dollar.u_billion_dollar_brand=true;
dollar.update();
}


})(current, previous);

View solution in original post

14 REPLIES 14

Ankur Bawiskar
Tera Patron
Tera Patron

Hi,

some changes to your script

(function executeRule(current, previous /*null when async*/ ) {

// Add your code here
var dollar = new GlideRecord('u_cmdb_ci_application_service');
dollar.addQuery('u_brand', current.u_name);
dollar.addQuery('location', current.u_billion_dollar_brand_location);
dollar.query();
while (dollar.next()) {
dollar.u_billion_dollar_brand = true;
dollar.update();
}
})(current, previous);

Regards
Ankur

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader

Its still not working

Hi,

Did you try checking what came in logs?

(function executeRule(current, previous /*null when async*/ ) {

// Add your code here
var dollar = new GlideRecord('u_cmdb_ci_application_service');
dollar.addQuery('u_brand', current.u_name);
dollar.addQuery('location', current.u_billion_dollar_brand_location);
dollar.query();

gs.info('row count'+dollar.getRowCount());
while (dollar.next()) {
dollar.u_billion_dollar_brand = true;
dollar.update();
}
})(current, previous);

Regards
Ankur

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader

Row Count0