Have you tried POSDBF?
Yes I have. That does not work either. Its like once its at end of file there is no way to reset it.
There is another suggestion as per one of the forums. Try this and see.
1. Use the Number of current records (NBRCURRCD) parameter of the Retrieve Member Description (RTVMBRDR) command to determine the number of active records in the member.
2. Override the database file to SHARE(*YES). This establishes an open data path (ODP) and allows the Position Database File (POSDBF) command to function properly.
3. Use the Open Database File (OPNDBF) to establish a file ID link that can be referenced by POSDBF.
4. Count the records as you process them.
5. When the record counter matches the number of active records, you have processed the last record. Use the POSDBF command to reset the file pointer to the first record.
Be aware that this technique won’t work correctly if other jobs are adding records to the file, or deleting records from the file, at the same time