Going inside loop so many times
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-27-2025 01:53 AM
(function executeRule(current, previous /*null when async*/) {
var acc = current.u_account.toString();
var exp = new GlideDate(current.u_expiration_date);
var loc = current.u_location;
var listt = current.u_list_product_family;
gs.log("indraa " + listt);
var array = listt.split(",");
gs.log("indraa " + array + " " + array.length);
var length = array.length;
for(var i =0 ; i<length; i++)
{
gs.log("hi");
var flag = false;
var gr = new GlideRecord('u_test');
gr.addQuery('u_account', acc);
gr.addQuery('u_expiration_date', exp);
gr.addQuery('u_location', loc);
gr.addQuery('u_product_fam', array[i]);
gr.setLimit(1);
gr.query();
if(gr.next())
{
flag = true;
}
gs.log("indra " + flag);
if(flag == false)
{
var insert1 = new GlideRecord('u_test');
insert1.initialize();
insert1.u_account = acc;
insert1.u_location = loc;
insert1.u_expiration_date = exp;
insert1.u_product_fam = array[i];
insert1.u_list_product_family = listt;
insert1.insert();
}
}
//current.setAbortAction(true);
})(current, previous);
5 REPLIES 5
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-27-2025 05:17 AM
If it is this you are looking to achieve and you are moving away from client side, why not just create a flow for this, instead of all of this scripting? You can easily put validations in there and prevents all kind of loops.