You have created an infinite loop where NOT %EOF
is TRUE but %FOUND
is FALSE.
Note from the documentation for %FOUND that it does not reflect a status for a READ
operation.
The IF
conditional is not needed in your code as the DOW
loop is sufficient to guarantee you have a record.