Most likely it'll error out because filter expression is evaluated at the time when record pointer moves. lcSpaces may be out of scope than.
>EMPTY() is not Rushmore optimizable unless you add an INDEX ON EMPTY(myfield). That is a non-discriminating index. If you already have another index on myfield like this... INDEX ON UPPER(myfield) TAG xmyfield
>
>then the following will work.
>
>lcSpaces=space(len(myfield))
>SET FILTER TO UPPER(myfield) # m.lcSpaces
>
>You won't need a new index and it will optimize.
--sb--