addOrCondition not working ...

Zod
Giga Guru

HI .... as I'm using a scoped application I assume this might be the reason why the xx.addOrCondition gives me an error in the logs ... ;-(

" Cannot find function addOrCondition in object [object GlideRecord]."

Could you please help me doing what is done here ... just without requiring the   xx.addOrCondition ?

....

var xx = new GlideRecord("sn_customerservice_channel_config");

var arrXX = email.to.split(',');  

var k = 0;

for (var n = 0; n < arrXX.length; n++) {

if (k == 0) {

xx.addQuery('email_address', arrXX[n]);

k++;

} else {

xx.addOrCondition('email_address', arrXX[n]);

}

}

xx.query();

....

Thank you!!!

1 ACCEPTED SOLUTION

Can we try in this way. see if this helps.



var k = 0;


var queryString;


var arrXX = email.to.split(',');


var xx = new GlideRecord("sn_customerservice_channel_config");


for (var n = 0; n < arrXX.length; n++) {


if (k == 0) {


queryString = 'email_address=' + arrXX[n];


k++;


} else {


queryString = queryString + '^ORemail_address=' + arrXX[n];


}


}


xx.addEncodedQuery(queryString);


xx.query();


View solution in original post

22 REPLIES 22

Can you please put gs.info(queryString); just before the xx.query(); and see if it's forming the query will all the required email ids?


There was a } mismatch - my mistake ;-/



Thank you SOOOOOO mutch all .


no worries just so you have it .. this is a REALLY good write up on glidequery...



https://www.servicenowguru.com/scripting/gliderecord-query-cheat-sheet/



while it wouldn't have helped in this case.. it is a great bookmark to keep.


This is interesting. addOrCondition should not have anything to do with scoped or otherwise, but maybe I don't know. I would log a ticket with ServiceNow to solve it the right way.



If there is not going to be too many email addresses:


var xx = new GlideRecord("sn_customerservice_channel_config");


var arrXX = email.to.split(',');


for (var n = 0; n < arrXX.length; n++) {


          xx.initialize();


          xx.addQuery('email_address', arrXX[n]);


          xx.query();


}



But that will make multiple query calls to the DB.



You are not going this through a client script, right? Can you explain the full use case.



Manish


... gs.log will also not work in scoped apps ... while gs.info works.


Don't ask me why - but is like it is ;-(



I have different mails that can sent to the system and I need to check the table to verify that at least one of the mails used does match the table entries to get the refereed assignment group ...



I will try your code ... and post again.


Thanks in advance