!
!       FIX OF.DDL-VERSION 1.0
!       THIS PROGRAM WILL DELETE ANY INVALID EOF MARKED RECORDS
!       COPYRIGHT 1982 BY DRAVIC LTD.
!
#prefix
       define dbms packet ANDI.FILE using CONVEN
       !                                    ^
       !                                    |
       !                                    |
       ! enter your file name here! --------+
#end
!
   1  NUMREC,f
   1  CUR'REC,f
   1  NUM'DEL,f
!
       open dbms file ANDI.FILE
!
!       FIRST WE MUST DETERMINE THE LAST VALID RECORD NUMBER
!       WE DO THIS USING THE "STATS" CAL WHICH WILL RETURN
!       THE NUMBER OF ALLOCATED RECORDS IN FLAG1
!
       stats on ANDI.FILE
       NUMREC = FLAG1
       print "Processing";NUMREC;"records"
!
!       NEXT WE SPIN THROUGH THE FILE LOOKING FOR RECORDS
!       TO DELETE
!
       do CUR'REC=CUR'REC+1 until CUR'REC=NUMREC+1 from CUR'REC=1
               read record CUR'REC from ANDI.FILE
               print ".";
               when FLAG1=2
                       delete record from ANDI.FILE
                       print
                       print "fixing record";CUR'REC
                       NUM'DEL=NUM'DEL+1
               end when
       end do
       print
       print "Processing complete"
       print "Total records fixed:";NUM'DEL
       close file ANDI.FILE
       end