CASE m.lnTriggerType = TriggerTypeCode m.lcSearch = PADR(m.lcSearch, FSIZE("searchTB")) SCAN WHILE !m.plError AND SearchTB == m.lcSearch FOR NOT EMPTY(CommandField) ... ENDSCAN ...I'ld be hesitant to use this since "while" in scan implies Scope REST (where is the go top ?) and I'ld guess it would also eliminate rushmore (the docs are a bit ambiguos from AFAIR). I tend to use "while" only in seek() scan-scenarios. In the code above Rushmore is certainly disabled for SearchTB == m.lcSearch and I don't see a if seek() ?