Auch bei Banddateien läuft die CLOSE-Verarbeitung nach dem oben beschriebenen Muster ab. Allerdings müssen bei Banddateien Kennsatzschreiben und Bandpositionierung berücksichtigt werden. Das DVS schreibt für Ausgabedateien automatisch Standard-Dateiende-Kennsätze (EOF) entsprechend der LABEL-Angabe im FILE- oder FCB-Makro bzw. der Angabe LABEL-TYPE im Kommando ADD-FILE-LINK.
Anschließend wird das Band so positioniert, wie es im CLOSE-Makroaufruf gefordert wurde.
Sollen Benutzer-Kennsätze (UTL) geschrieben werden, muss das Programm die dafür erforderliche LABEND-Routine enthalten. Allerdings verzweigt das DVS nicht in die LABEND-Routine, wenn mehrere Dateien gleichzeitig geschlossen werden sollen (CLOSE ALL).
Wie bei der Dateieröffnung hängt auch beim Schließen der Dateien die Kennsatzverarbeitung von der LABEL-Angabe im FILE-Makroaufruf/FCB bzw. von der Angabe LABEL-TYPE im Kommando ADD-FILE-LINK und vom Öffnungsmodus der Datei ab.
Wird eine Datei mit der Angabe LEAVE im CLOSE-Makroaufruf geschlossen, bleibt das Band auf das logische Dateiende positioniert. Wird die folgende Datei mit demselben Dateikettungsnamen verarbeitet, wird das Band bei der OPEN-Verarbeitung auf Grund der impliziten Gerätefreigabe und dem durch FILE-Aufruf mit LINK-Angabe bzw. dem durch Angabe LINK-NAME im Kommando ADD-FILE-LINK ausgelösten Zurückspulens auf Bandanfang zurückpositioniert. Der Benutzer kann dieses Zurückpositionieren umgehen, wenn er zu Beginn der Verarbeitung einen TFT-Eintrag für eine Dummy-Datei unter einem anderen Dateikettungsnamen erzeugt oder indem er verschiedene Dateikettungsnamen für die Dateiverarbeitung verwendet.
Eingabedateien schließen
Kennsatzverarbeitung
Bei Eingabedateien (OPEN INPUT) ist keine Kennsatzbehandlung erforderlich, da keine Dateieigenschaften verändert wurden. Es wird lediglich das Band entsprechend der Angabe im CLOSE-Makroaufruf positioniert.
BYPASS-Behandlung
Eingabedateien können über den BYPASS-Operanden im FILE-Makroaufruf bzw. über den Operanden BYPASS-LABEL-CHECK im Kommando ADD-FILE-LINK positioniert werden. Es muss allerdings beachtet werden, dass die Verwendung des BYPASS-Operanden beeinflusst, wie das Band am Ende der CLOSE-Verarbeitung positioniert wird: im CLOSE-Makroaufruf muss der Operand LEAVE angegeben werden, sonst wird das Band auf den Bandanfang zurückpositioniert. Wird der Operand DISCON angegeben, wird das Band nach dem Zurückspulen entladen.
Verarbeitung von Bändern ohne EOF-/EOV-Kennsätze
Normalerweise erhält ein Benutzerauftrag, der Bänder mit Standardkennsätzen, aber ohne ordnungsgemäße EOF-/EOV-Kennsätze verarbeitet, beim Erkennen einer Abschnittsmarke einen Kennsatzfehler (EXLST-Ausgang LABERR). Da in Ausnahmefällen Bänder (fremder Hersteller) zwar Standardkennsätze, aber keine EOF-/EOV-Kennsätze enthalten, unterstützt das BS2000 die Verarbeitung solcher Bänder. Die Dateien können mit der Zugriffsmethode SAM verarbeitet werden, wenn die entsprechenden Routinen zur Fehlerbehandlung (LABERR-Fehler) vorhanden sind.
Die Verarbeitung von Banddateien mit Standardkennsätzen und ohne EOF-/EOV-Kennsätze ist nur unter folgenden Bedingungen gewährleistet:
Die Datei muss ordnungsgemäß eröffnet werden; das bedeutet, dass zum OPEN-Zeitpunkt nicht auf eine Datei positioniert werden darf, die einer Datei ohne EOF-Kennsätze folgt.
Die Datei darf nicht mit OPEN REVERSE oder EXTEND eröffnet werden.
Ausgabedateien schließen
Wenn eine Ausgabedatei geschlossen wird, müssen in der Regel Kennsätze geschrieben werden – entsprechend der LABEL-Angabe im FILE-Makroaufruf/FCB bzw. entsprechend der Angabe LABEL-TYPE im Kommando ADD-FILE-LINK.
Ausgabedateien mit Standardkennsätzen:
LABEL=(STD,n) bzw. LABEL-TYPE=*STD(DIN-REVISION-NUMBER)
Das DVS schreibt automatisch Abschnittsmarken (Tape Marks) und – außer im Fall SINOUT eröffneter Dateien bei BTAM – die Kennsätze EOF1 bis EOF3; die Kennsätze EOF4 bis EOF9 werden im BS2000 nicht geschrieben. Bei BTAM-Dateien, die im Modus SINOUT eröffnet wurden, können keine Ende-Kennsätze geschrieben werden, weil zum OPEN-Zeitpunkt keine Kennsatzbehandlung erfolgte und daher keine Informationen zum Erstellen von Ende-Kennsätzen vorliegen.
Soll die Datei Benutzer-Dateiende-Kennsätze (UTL) erhalten, muss das Programm sie in einer LABEND-Routine erstellen. Da die BLIM-Funktion bzw. die BLOCK-LIMIT-Funktion im Kommando ADD-FILE-LINK nicht zum Tragen kommt, wird keine Fixpunktdatei erzeugt. Das Band wird entsprechend den Angaben im CLOSE-Makroaufruf positioniert.
Gilt DESTOC=YES aus dem FILE-Makro bzw. DESTROY-OLD-CONTENTS=*YES aus dem Kommando ADD-FILE-LINK oder DESTROY=YES aus dem Katalogeintrag, wird der weitere Bandinhalt gelöscht.
Ausgabedateien mit Nicht-Standardkennsätzen:
LABEL=NSTD bzw. LABEL-TYPE=*NON-STD
Nicht-Standardkennsätze müssen in einer LABEND-Routine des Benutzerprogramms erzeugt werden. Bevor es die Kennsatzroutine aktiviert, schreibt das DVS eine Abschnittsmarke (Tape Mark). Gilt TPMARK=YES aus dem Makro FILE bzw. TAPE-MARK-WRITE= *YES aus dem Kommando ADD-FILE-LINK, schreibt das DVS eine Doppel-Abschnittsmarke. Gilt TPMARK=NO im TFT-Eintrag und im Dateisteuerblock, schreibt das DVS nur eine Abschnittsmarke. Danach wird das Band entsprechend den Angaben im CLOSE-Makroaufruf positioniert. Gilt DESTOC=YES aus Makro FILE bzw. DESTROY-OLD-CONTENTS= *YES aus dem Kommando ADD-FILE-LINK oder DESTROY=YES aus dem Katalogeintrag, wird der weitere Bandinhalt gelöscht.
Ausgabedateien ohne Kennsätze:
LABEL=NO bzw. LABEL-TYPE=*NO
Das DVS schreibt die Doppel-Abschnittsmarke für Datei- und Bandende.
Gilt aus dem Makro FILE DESTOC=YES oder aus dem Kommando ADD-FILE-LINK DESTROY-OLD-CONTENTS=*YES oder aus dem Katalogeintrag DESTROY=YES, wird der weitere Bandinhalt gelöscht.