Hi Jim
SNIP
>Technically, Mike (Y that is), you are relying on an undocumented feature in your assertion that the UPPER() is not necessary.
>I'd argue that inclusion of the UPPER() function is very cheap "insurance" against future malfunction if the situation were to change, whether deliberately or accidentally.
I use mdot as cheap insurance against a problem that could crop up innocently and without warning. I don't see this as the same thing.
I don't buy insurance on my house in case the moon should fall on it. ;) MS can't change it while code is running and they would not change it without it getting caught in a beta and having to put it back. I think it extremely unlikely that MS is going to change SET("CLASSLIB") or any other SETs to return mixed/lower case values. If they did change that, they'd document it. Just looking in the help for SET(), many of them are clearly uppercase already (ON or OFF).
In addition, it is often faster to
lcVariable = UPPER(m.lcVariable)
SET FILTER TO UPPER(field) = m.lcVariable<PRE>
than to <pre>SET FILTER TO UPPER(field) = UPPER(variable)
It may be insurance, but it isn't *necessary*.
BTW. How come you're not requesting they document the case of the returned value?