- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-08-2014 10:05 AM
I am looking up on the cmb_schedule_span table
I have the schedule so I am only looking at the records for that schedule, but I need to lookup based on the repeat_type and the days_of_week fields.
repeat_type is daily or weekMWF or weekdays
OR
repeat_type is weekly AND days_of_week contains 1
In other words, if the schedule affects a Monday.
I have
var seRT = scheduleEntry('repeat_type','daily'); seRT.addOrCondition('repeat_type','weekMWF'); seRT.addOrCondition('repeat_type','weekdays'); seRT.addOrCondition('repeat_type','weekly');
which brings me back a record
I cannot see anyway to add restrict it any further
I have looked at encoded queries and they are not quite getting there either
It decides to use the ^NQ option to create a new query which throws the results.
schedule=ca51a84c6fcd61407e874c871e3ee4ad^repeat_type=daily^ORrepeat_type=weekMWF^ORrepeat_type=weekdays^NQrepeat_type=weekly^days_of_weekLIKE1
I am at the moment thinking of using the first query and then looking at a quick scan in the data it returns, but would prefer to do this in a single query is possible
any ideas or pointers.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-08-2014 12:41 PM
Huh, that's strange.
I'm using the following in my instance, and it picks up the expected records for Daily, MWF, Weekdays, and weekly on Mondays. I have other records where the repeat_type is weekly and it excludes those.
var scheduleEntry = new GlideRecord('cmb_schedule_span');
//Initial criteria to add all repeat_type values of interest
scheduleEntry.addQuery('repeat_type','IN','daily,weekMWF,weekdays,weekly');
//Criteria to exclude the repeat_type of "weekly" unless for the specific day of interest
var seRT = scheduleEntry.addQuery('repeat_type','!=','weekly');
seRT.addOrCondition('days_of_week','CONTAINS','1');
scheduleEntry.query();
gs.print(scheduleEntry.getRowCount());
The code you have in your post is not quite the same. Can you try the following & verify if the record is excluded?
var scheduleEntry = new GlideRecord('cmb_schedule_span');
//querying for record that should be excluded due to other criteria
scheduleEntry.addQuery('schedule','ca51a84c6fcd61407e874c871e3ee4ad');
//Initial criteria to add all repeat_type values of interest
scheduleEntry.addQuery('repeat_type','IN','daily,weekMWF,weekdays,weekly');
//Criteria to exclude the repeat_type of "weekly" unless for the specific day of interest
var seRT = scheduleEntry.addQuery('repeat_type','!=','weekly');
seRT.addOrCondition('days_of_week','CONTAINS','1');
scheduleEntry.query();
if(scheduleEntry.next()){
gs.log(scheduleEntry.name);
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-08-2014 12:41 PM
Huh, that's strange.
I'm using the following in my instance, and it picks up the expected records for Daily, MWF, Weekdays, and weekly on Mondays. I have other records where the repeat_type is weekly and it excludes those.
var scheduleEntry = new GlideRecord('cmb_schedule_span');
//Initial criteria to add all repeat_type values of interest
scheduleEntry.addQuery('repeat_type','IN','daily,weekMWF,weekdays,weekly');
//Criteria to exclude the repeat_type of "weekly" unless for the specific day of interest
var seRT = scheduleEntry.addQuery('repeat_type','!=','weekly');
seRT.addOrCondition('days_of_week','CONTAINS','1');
scheduleEntry.query();
gs.print(scheduleEntry.getRowCount());
The code you have in your post is not quite the same. Can you try the following & verify if the record is excluded?
var scheduleEntry = new GlideRecord('cmb_schedule_span');
//querying for record that should be excluded due to other criteria
scheduleEntry.addQuery('schedule','ca51a84c6fcd61407e874c871e3ee4ad');
//Initial criteria to add all repeat_type values of interest
scheduleEntry.addQuery('repeat_type','IN','daily,weekMWF,weekdays,weekly');
//Criteria to exclude the repeat_type of "weekly" unless for the specific day of interest
var seRT = scheduleEntry.addQuery('repeat_type','!=','weekly');
seRT.addOrCondition('days_of_week','CONTAINS','1');
scheduleEntry.query();
if(scheduleEntry.next()){
gs.log(scheduleEntry.name);
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-08-2014 12:48 PM
Yup that worked a treat