Diese Anweisung @ELIM löscht den Inhalt einer ISAM-Datei teilweise oder ganz. Wird der gesamte Inhalt gelöscht, bleibt - im Gegensatz zu @UNSAVE - der Dateiname im Katalog bestehen. Außerdem ist es möglich, gleichzeitig in der Arbeitsdatei und auf der Platte zu löschen.
Operation | Operanden | F-Modus, L-Modus |
@ELIM | [file] [(ver)] lines[,...] [BOTH] |
file | Name der ISAM-Datei, in der Bereiche gelöscht werden sollen. Der Name Fehlt der Operand Existiert die angegebene Datei nicht, hat sie den falschen Typ oder ist sie Wenn der Dateikettungsname |
ver | Versionsnummer der zu löschenden Datei. Stimmt die angegebene |
lines | Einer oder mehrere Zeilenbereiche, die aus der ISAM-Datei gelöscht werden Wird für |
BOTH | Der bezeichnete Zeilenbereich ist nicht nur in der ISAM-Datei, sondern |
Die Datei wird nur während des Löschvorgangs temporär geöffnet. In Dateien, die nicht die vom EDT angenommenen Standardattribute haben (z.B. keine variable Satzlänge), kann nur dann mit @ELIM gelöscht werden, wenn ein entsprechendes /SET-FILE-LINK
Kommando mit dem Dateikettungsnamen EDTISAM
gegeben worden ist (siehe Kapitel „Dateibearbeitung“).
Wird die Anweisung mit [K2] unterbrochen und der EDT-Lauf mit /INFORM-PROGRAM
fortgesetzt, so wird die Bearbeitung der Anweisung abgebrochen und die Meldung EDT5501
ausgegeben.
Beispiel
23.00 ········································································
@get 'bsp.elim' noreseq ·······································0001.00:00001(00)
Die ISAM-Datei BSP.ELIM
wird in die Arbeitsdatei 0 eingelesen. Als Zeilennummern sollen die ISAM-Schlüssel übernommen werden.
Sowohl in der Arbeitsdatei 0 als auch in der ISAM-Datei BSP.ELIM
wird der Zeilenbereich 5-7 gelöscht.
Falls die ISAM-Datei mit @GET ohne NORESEQ
eingelesen wird, brauchen die zu löschenden Zeilenbereiche in der ISAM-Datei und in der Arbeitsdatei nicht überein zu stimmen.
Die Arbeitsdatei 0 wird gelöscht und anschließend erneut die ISAM-Datei BSP.ELIM
eingelesen.
Auch in der ISAM-Datei wurde der Zeilenbereich von 5 bis 7 gelöscht.