Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

@ELIM - Sätze in ISAM-Datei löschen

&pagelevel(3)&pagelevel

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
muss dem SDF-Datentyp <filename 1..54> entsprechen oder die spezielle
Angabe '/' sein.

Fehlt der Operand file, so wird, falls vorhanden, der explizite lokale
@FILE-Eintrag und andernfalls der globale @FILE-Eintrag als Dateiname
herangezogen (siehe auch @FILE-Anweisung). Ist weder ein expliziter
lokaler noch globaler @FILE-Eintrag vorhanden, wird die Anweisung
@ELIM mit der Fehlermeldung EDT5484 abgewiesen.

Existiert die angegebene Datei nicht, hat sie den falschen Typ oder ist sie
nicht zugreifbar, wird die @ELIM-Anweisung mit einer entsprechenden
Meldung abgewiesen.

Wenn der Dateikettungsname EDTISAM einer Datei zugeordnet ist, genügt
die Angabe '/', um in der Datei zu löschen (siehe Kapitel „Dateibearbeitung“).

ver

Versionsnummer der zu löschenden Datei. Stimmt die angegebene
Versionsnummer nicht mit der Versionsnummer der Datei überein, wird die
Anweisung mit der Meldung EDT4985 abgewiesen.

lines

Einer oder mehrere Zeilenbereiche, die aus der ISAM-Datei gelöscht werden
sollen. Werden symbolische Zeilennummern angegeben, werden
deren Werte aus der aktuellen Arbeitsdatei bestimmt, haben also normalerweise
nichts mit der Satzstruktur der bei file angegebenen Datei zu tun.

Wird für lines das Bereichssymbol (Standardwert &) angegeben und ist
noch dessen Voreinstellung 0.0001-9999.9999 eingestellt (siehe
@RANGE-Anweisung), wird der gesamte Inhalt der Datei gelöscht, der
Katalogeintrag bleibt aber erhalten.

BOTH

Der bezeichnete Zeilenbereich ist nicht nur in der ISAM-Datei, sondern
auch in der Arbeitsdatei zu löschen.

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.