AT END が無視されて、再度、DELETE処理を行い、 不正十進数エラーで アボートしてしまいます

1:AT END が無視されて、再度、DELETE処理を行い、 不正十進数エラーで アボートしてしまいます
GAI 07/14 16:12
こんにちはいつも大変お世話になっております。

COBOL85で、
下記の処理をした場合、
最終レコードを削除した後、
AT END が無視されて、再度、DELETE処理を行い、
不正十進数エラーで アボートしてしまいます。

それなりにスキルのある前任者が作ったプログラムです。
最終レコードが削除されたら、レコードがなくなるので、AT END になると思うのですが、
なぜAT END GOTO ABC-090が無視されてしまうのでしょうか?
どう処置すればいいでしょうか?


1.RDBファイルを順読み
2.削除する
3.次のレコードを読む(最終レコード)
4.削除する(最終レコード)
5.次のレコードを読む(AT ENDになるはず)
6.削除する → 不正エラー!!?

ABC-010.

READ XX-FILE AT END GOTO ABC-090.

DELETE XX-FILE .

GO TO ABC-010.

ABC-090.

【例】
READ レコード 99997 →DELETE
READ レコード 99998 →DELETE
READ レコード 99999 →DELETE
READ  E M0021: (PRG=XXXXXX,ADR=00051C12) 不正十進数エラ―


1-

BluesBB ©Sting_Band