The DELETE statement deletes records from relative files. It takes the following form:
DELETE ([UNIT=]u, [REC=r] [,ERR=s] [,IOSTAT=ios])
In a relative file, DELETE deletes the direct access record specified by r. If REC=r is omitted, the current record is deleted. When the direct access record is deleted, any associated variable is set to the next record number.
The DELETE statement logically removes the appropriate record from the specified file by locating the record and marking it as a deleted record. It then frees the position formerly occupied by the deleted record so that a new record can be written into that position.
In the following example, the fifth record in the file connected to logical unit 10 is deleted from the file:
DELETE (10, REC=5)
Consider that the following statement is specified:
DELETE (UNIT=9, REC=10, IOSTAT=IOS, ERR=20)
The tenth record in the file connected to unit 9 is deleted. If an error occurs, control is transferred to the statement labeled 20, and a positive integer is stored in variable IOS.
For details on an alternative form for DELETE with relative files, see Section A.12.