Posted: 19 Sep 2016 8:53 EDT Last activity: 6 Oct 2016 10:13 EDT
Report Definition filter incorrectly changed to equals
I have built a Report Definition rule. In it there is a filter on surname. The business requirement is for the surname to a) be matched by "Starts with" to allow for partial searches, and b) that it is case-insensitive.
When I set the filter to be "Cust.Surname Starts with Param.Surname" it works fine.
When I set the filter to be "Upper case version of [Cust.Surname] Is equal Upper case version of [Param.Surname]" it works fine.
When I set the filter to be "Upper case version of [Cust.Surname] Starts with Upper case version of [Param.Surname]" it builds the SQL to use "=" instead of "LIKE", i.e.:
...AND UPPER("Cust".SURNAME) = UPPER(? ) AND...
Please can someone confirm if there is a work around for this, or a hotfix? Or is this functionality not currently supported?
This query was earlier raised in the mesh forum as part of an SR and this is the response we received,
This is the expected behaviour. If you use a function in RHS of a filter condition, the filter operand is treated as equal. This is because if a literal was provided in RHS, we automatically add wildcards based on the operand type. But since a function has been used in RHS, we cannot add the wildcards and thus change it to equals.