Loading...
Loading...
When a report with RLQUERY exists, say a condition QC1^ORQC2, it is suppose to translate the related list condition with only one WHERE clause condition. Because of the fix in DEF0035675, it ends up repeating the condition ^2 times in the WHERE condition. For example: if the encodedQuery looks like below ^RLQUERY change_task.change_request,>=1 ^assignment_group=a1e894971b291050ab902f002d4bcb84 ^ORassignment_group=59e894971b291050ab902f002d4bcb56 ^ORassignment_group=e2a854171b291050ab902f002d4bcb40 ^ORassignment_group=3aa854171b291050ab902f002d4bcb61 ^ENDRLQUERY Expected translation is: SELECT <> FROM (task task0 INNER JOIN task sj0 ON sj0.`a_ref_1`=task0.`sys_id` AND sj0.`sys_class_name` = 'change_task' AND (sj0.`assignment_group` = 'a1e894971b291050ab902f002d4bcb84' OR sj0.`assignment_group` = '59e894971b291050ab902f002d4bcb56' OR sj0.`assignment_group` = 'e2a854171b291050ab902f002d4bcb40' OR sj0.`assignment_group` = '3aa854171b291050ab902f002d4bcb61')) WHERE task0.`sys_class_name` IN ('change_request','change_request_imac') GROUP BY task0.`sys_id` HAVING count(sj0.`sys_id`) >= 1 Actual Translation is: SELECT <> FROM (task task0 INNER JOIN task sj0 ON sj0.`a_ref_1`=task0.`sys_id` AND sj0.`sys_class_name` = 'change_task' AND ((((((sj0.`assignment_group` = 'a1e894971b291050ab902f002d4bcb84' OR sj0.`assignment_group` = '59e894971b291050ab902f002d4bcb56' OR sj0.`assignment_group` = 'e2a854171b291050ab902f002d4bcb40' OR sj0.`assignment_group` = '3aa854171b291050ab902f002d4bcb61') AND (sj0.`assignment_group` = 'a1e894971b291050ab902f002d4bcb84' OR sj0.`assignment_group` = '59e894971b291050ab902f002d4bcb56' OR sj0.`assignment_group` = 'e2a854171b291050ab902f002d4bcb40' OR sj0.`assignment_group` = '3aa854171b291050ab902f002d4bcb61')) AND (sj0.`assignment_group` = 'a1e894971b291050ab902f002d4bcb84' OR sj0.`assignment_group` = '59e894971b291050ab902f002d4bcb56' OR sj0.`assignment_group` = 'e2a854171b291050ab902f002d4bcb40' OR sj0.`assignment_group` = '3aa854171b291050ab902f002d4bcb61')) AND (sj0.`assignment_group` = 'a1e894971b291050ab902f002d4bcb84' OR sj0.`assignment_group` = '59e894971b291050ab902f002d4bcb56' OR sj0.`assignment_group` = 'e2a854171b291050ab902f002d4bcb40' OR sj0.`assignment_group` = '3aa854171b291050ab902f002d4bcb61')) AND (sj0.`assignment_group` = 'a1e894971b291050ab902f002d4bcb84' OR sj0.`assignment_group` = '59e894971b291050ab902f002d4bcb56' OR sj0.`assignment_group` = 'e2a854171b291050ab902f002d4bcb40' OR sj0.`assignment_group` = '3aa854171b291050ab902f002d4bcb61'))) ) WHERE task0.`sys_class_name` IN ('change_request','change_request_imac') GROUP BY task0.`sys_id` HAVING count(sj0.`sys_id`) >= 1
Execute below script on a TP3+ instance : var encodedQuery = "stateIN-4,-3^start_date>javascript:gs.endOfCurrentMinute()^ORDERBYstart_date^RLQUERYchange_task.change_request,>=1^assignment_group=a1e894971b291050ab902f002d4bcb84^ORassignment_group=59e894971b291050ab902f002d4bcb56^ORassignment_group=e2a854171b291050ab902f002d4bcb40^ORassignment_group=3aa854171b291050ab902f002d4bcb61^ENDRLQUERY"; // grReport.getValue('filter'); var dbQuery = new GlideDBQuery('change_request'); dbQuery.addQueryString(encodedQuery); dbQuery.addReturnField('number'); gs.info(dbQuery.toSQL());
This problem has no workaround, is under review and targeted to be fixed in a future release. Subscribe to this Known Error article to receive notifications when more information will be available.
PRB1636320
Click on a version to see all relevant bugs
ServiceNow Integration
Learn more about where this data comes from
Bug Scrub Advisor
Streamline upgrades with automated vendor bug scrubs
BugZero Enterprise
Wish you caught this bug sooner? Get proactive today.