Um eine Schleife kommst du allerdings nicht herum, aber wie wäre es trotzdem %scan zu nutzen ?

d fPos s 5p 0
d nPos s 5p 0
d mField s 30
d mScan s 10

/free
fPos = *zero;
for nPos = 1 to %size(mField);
nPos = %scan(mScan:mField:nPos);
if nPos > *zero;
fPos = nPos;
iter;
endif;
leave;
endfor;
if fPos > *zero;
// gefunden
endif;
/end-free