>While LOCATE FOR will work I need to count number of records that already locked to know how many active users are in the system. The file will never be too big, I think max number of users any of our clients have is 100 right now. Also I am using FOR.. NEXT loop because in case number of locked record reached maximum number of users I want to stop checking no matter how many records are in the table.
So what? You can still break out of a SCAN, just like you can break out of a FOR loop. However, my proposal - LOCATE FOR RLOCK() - would no longer be acceptable, given the requirements.
Difference in opinions hath cost many millions of lives: for instance, whether flesh be bread, or bread be flesh; whether whistling be a vice or a virtue; whether it be better to kiss a post, or throw it into the fire... (from Gulliver's Travels)