Die DELETE-Anweisung

Hier wird sich für die meisten der Sinn der Anweisung aus anderen Programmier- oder Scriptsprachen oder Sprachkenntnissen in Englisch erschließen, denn to delete bedeutet löschen.
Man kann Sätze in Dateien oder ganze Dateien löschen:

Sätze löschen
Hierzu ist zunächst zu sagen, daß die Sätze nicht physisch gelöscht werden, sondern mit einem sog. Löschkennzeichen versehen werden. Um das Setzen dieses Zeichens braucht sich der Programmierer jedoch keine Gedanken zu machen, da sich Cobol schon darum kümmert.
Die Datei aus der der Satz gelöscht werden soll, muß im Aktualisierungsmodus geöffnet worden sein.
Liegt als Zugriffsmodus SEQUENTIAL vor, muß zunächst mittels READ-Anweisung ein Satz eingelesen worden sein. Dieser Satz wird dann gelöscht.
Liegt als Zugriffsmodus jedoch DYNAMIC oder RANDOM vor, so wird der Satz gelöscht, der dem derzeitigen Primärschlüssel entspricht.

          :
MOVE "4711" TO Schl-Feld.
DELETE Stamm.
          :


Der Dateipositionszeiger wird von der DELETE-Anweisung nicht betroffen.

INVALID KEY
Auch hier kann hinter INVALID KEY eine Anweisung angegeben werden, die ausgeführt werden soll, wenn die Aktion daneben geht. Für die Handhabung von INVALID KEY gilt dabei dasselbe wie bei READ bzw. WRITE Ansonsten wird auf die Fehlerbehandlung verwiesen.

Löschen ganzer Dateien
Will man aus dem Programm heraus ganze Dateien löschen, so ist zunächst darauf zu achten, daß die Datei mit CLOSE geschlossen wurde. Um dem Programm klar zu machen, daß eine ganze Datei gelöscht werden soll, hängt man an DELETE einfach das Wörtchen FILE an:

...