Vor der Version V8.0 schützten FT-Produkte im BS2000 eine zu übertragende Datei nur, wenn die Übertragung aktiv und die Datei somit von openFT mittels DVS geöffnet war. Dadurch war es möglich, während Übertragungsunterbrechungen bzw. bevor die Übertragung überhaupt begonnen hatte, auf beide beteiligten Dateien modifizierend zuzugreifen. Nicht immer konnte danach der Wiederanlauf von openFT die Veränderung erkennen, so dass inkonsistente Empfangsdateien entstehen konnten.
Ab V8.0 nutzt openFT einen Mechanismus des Betriebssystems, um Übertragungsdateien zu schützen (dieser Schutz ist jedoch nicht für Bibliothekselemente und Posix-Dateien möglich):
Übertragungsdateien werden bei Annahme eines Auftrags zum frühestmöglichen Zeitpunkt mittels eines Dateilocks gesperrt. Sendedateien können dann von anderen Zugreifern noch gelesen werden, für Empfangsdateien ist jeder Zugriff verboten.
Dieser Lock bleibt - bei geladenem FT-Subsystem - solange gesetzt, bis der Auftrag beendet ist.
Das BS2000-Kommando SHOW-FILE-LOCK zeigt, ob eine Datei durch openFT gesperrt ist und, wenn ja, die Transfer-ID des zugehörigen Auftrags (kann im Sendefall auch eine Liste von Transfer-ID's sein). Der Systemverwalter kann einen solchen Lock, wie andere Dateilocks auch, im Notfall mit dem Kommando REMOVE-FILE-ALLOCATION auf eigene Gefahr zurücksetzen.
Außerdem kann sich der FT-Verwalter mit SHOW-FILE-TRANSFER ... PUBSET= alle Aufträge ausgeben lassen, die Dateien auf einem bestimmten Pubset gesperrt haben. Mit CANCEL-FILE-TRANSFER ... PUBSET= kann er diese Aufträge gezielt löschen.
Beim Entladen einer FT-Instanz (STOP-SUBSYSTEM FT oder DELETE-FT-INSTANCE) werden alle von openFT gehaltenen Locks zurückgesetzt und beim Laden (START-SUBSYSTEM FT oder CREATE-FT-INSTANCE) für alle Dateien, die durch vorhandene Aufträge betroffen sind, wieder gesetzt. Was der FT- bzw. Systemverwalter deshalb beachten muss, entnehmen Sie dem Abschnitt „Vorbereitung des FT-Systems“.
Zusätzlich zu diesen Mechanismen prüft openFT bei Kommunikation mit openFT-Partnern ab V8.1 auch implizit die Integrität der übertragenen Daten. Der Umfang wird beim Übertragungsauftrag festgelegt:
Bei Aufträgen mit Verschlüsselung wird auch der übertragene Dateiinhalt überprüft (TRANSFER-FILE ... DATA-ENCRYPTION = *YES).
Bei Aufträgen ohne Verschlüsselung kann explizit eine Integritätsprüfung des Dateiinhalts eingeschaltet werden
(TRANSFER-FILE ... DATA-ENCRYPTION = *ONLY-DATA-INTEGRITY).Sind weder Verschlüsselung noch die Integritätsprüfung eingeschaltet, dann wird nur die Integrität der Auftragsbeschreibungsdaten geprüft
(TRANSFER-FILE ... DATA-ENCRYPTION = *NO).
Wird ein Fehler erkannt, versuchen wiederanlauffähige Aufträge eine erneute Übertragung. Nicht wiederanlauffähige Aufträge werden abgebrochen.