Mit der Anweisung @SAVE wird der Inhalt der aktuellen Arbeitsdatei ganz oder teilweise als ISAM-Datei auf Platte geschrieben.
Operation | Operanden | F-Modus, L-Modus |
@SAVE | [file] [(ver)] [lines[,...] ] [:cols[,...]:] [ {UPDATE | RENUMBER [line [(inc)] ] ] [OVERWRITE] } ] |
file | Name der ISAM-Datei, die geschrieben werden soll. Der Name muss dem Fehlt der Operand Ist die angegebene Datei nicht wie erforderlich zugreifbar, wird die Anweisung Wenn der Dateikettungsname |
ver | Versionsnummer der zu überschreibenden Datei. Wird für eine existierende |
lines | Einer oder mehrere Zeilenbereiche, die in die ISAM-Datei geschrieben Wird |
cols | Einer oder mehrere Spaltenbereiche, durch die der zu schreibende Bereich Wird kein Spaltenbereich angegeben, werden die Zeilen in voller Länge |
UPDATE | Die Angabe von Dieser Operand wird ignoriert, wenn keine ISAM-Datei mit dem angegebenen |
RENUMBER | Für die abzuspeichernden Zeilen werden neue ISAM-Satzschlüssel gebildet. Wird Wird bei der Neunummerierung die maximal mögliche Zeilennummer |
line | Startnummer für die neu zu bildenden ISAM-Satzschlüssel. Wird |
inc | Schrittweite der neu zu bildenden ISAM-Satzschlüssel. Wird |
OVERWRITE | Eine vorhandene Datei gleichen Namens wird ohne Rückfrage überschrieben. Existiert die angegebene Datei noch nicht, ist |
Wird weder UPDATE
noch OVERWRITE
angegeben und existiert bereits eine Datei mit dem gleichen Namen, reagiert der EDT im Dialogbetrieb mit der Frage:
|
|
Wird die Meldung mit Y
beantwortet, wird die bestehende Datei als ISAM-Datei mit dem Inhalt der aktuellen Arbeitsdatei überschrieben. Wird dagegen die Meldung mit N
beantwortet, wird die Datei nicht geschrieben und die Meldung EDT0293
ausgegeben.
Im Stapelbetrieb wird die Datei immer überschrieben.
Beim Überschreiben einer existierenden Datei durch @SAVE ohne den Operanden UPDATE
ändern sich möglicherweise Datei-Typ und Datei-Attribute. Die Datei wird als ISAM-Datei mit Standardattributen (z.B. variable Satzlänge) geschrieben, sofern nicht vorher ein entsprechendes /SET-FILE-LINK
-Kommando mit dem Dateikettungsnamen EDTISAM
und den abweichenden Attributen gegeben worden ist (siehe Kapitel „Dateibearbeitung“). Dateien vom Typ PAM
oder BTAM
können nicht überschrieben werden.
Die Datei wird nur während des Schreibvorgangs temporär geöffnet.
Der Zeichensatz, mit dem das Schreiben erfolgt, hängt davon ab, ob die Datei überschrieben, neu angelegt oder erweitert wird (siehe Operand UPDATE
).
Wird die Datei überschrieben oder neu angelegt, werden die Daten im Zeichensatz der Arbeitsdatei geschrieben und für die Datei wird dieser Zeichensatz im Katalog eingetragen.
Wird die Datei erweitert, werden die Daten vom Zeichensatz der Arbeitsdatei in den Zeichensatz umcodiert, der im Katalogeintrag der Datei spezifiziert ist.
Ist im Katalog der Datei *NONE
eingetragen, wird EDF03IRV
angenommen (siehe auch Abschnitt „Zeichensätze“). Enthält die Arbeitsdatei Zeichen, die im Zeichensatz der zu schreibenden Datei ungültig sind, werden diese durch ein Ersatzzeichen ersetzt, sofern ein solches spezifiziert ist (siehe @PAR SUBSTITUTION-CHARACTER), andernfalls wird die Datei nicht geschrieben und die Fehlermeldung EDT5453
ausgegeben.
Die gilt nicht für ungültige Zeichen außerhalb des zu schreibenden Zeilen- oder Spaltenbereichs. Diese werden ignoriert.
Enthält die Arbeitsdatei Zeilen, die für die zu schreibende Datei zu lang sind (z.B. bei fester Satzlänge der Datei) oder entstehen durch die Konvertierung solche Sätze (bei Unicode-Zeichensätzen möglich), dann wird der Schreibvorgang mit der Meldung EDT5444
abgebrochen.
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.
Hinweis
Wird file
angegeben, kann @SAVE im F-Modus aus Kompatibilitätsgründen auch weiterhin mit S
abgekürzt werden.