Dateien in Unix- bzw. Windows-Systemen haben ebenso wie die POSIX-Dateien im BS2000-System keine Struktur und auch keine Dateimerkmale, die über die Codierung Auskunft geben. Windows-Dateien bieten, obwohl auch sie keine Struktur haben, Unterscheidungsmöglichkeiten anhand ihrer Dateinamens-Extension (z.B. "txt" für Text- und "exe" für ausführbare Dateien).
Für die Übertragung mit Windows- oder Unix-Systemen können Sie daher folgende Dateiarten definieren:
Text
unstrukturierte Binärdaten
satzstrukturierte Binärdaten (Benutzerformat)
Textformat
Eine Datei, die von Windows- oder Unix-Systemen aus im Textformat versendet wird, muss eine reine Textdatei sein, die durch Zeilenende-Kennzeichen (Linefeed in Unix-Systemen bzw. Carriage Return und Linefeed in Windows) in Sätze strukturiert ist. Die Länge einer Zeile ist beschränkt, z.B. auf 98304 Bytes bei Windows-Systemen. Für die Übertragung wird das Zeilenende-Kennzeichen in jeder Zeile eliminiert.
Beim Übertragen von BS2000-Systemen oder z/OS-Systemen in Windows- oder Unix-Systeme wird das Zeilenende-Kennzeichen entsprechend den im fernen System bestehenden Satzlängen eingefügt. Der Text und die Satzlängen bleiben erhalten. Die maximale Satzlänge bei der Übertragung einer Textdatei ist betriebssystemabhängig.
Mit Partnersystemen ab openFT V10 können auch Unicode-Dateien übertragen werden, siehe Abschnitt „Übertragung von 7 Bit-, 8 Bit- und Unicode-Dateien".
Tabulator- und Leerzeilenexpansion
Beim Übertragen von Textdateien führt openFT ggf. eine Tabulator- und Leerzeilenexpansion durch. D.h. anstelle eines Tabulators werden Leerzeichen und anstelle einer Leerzeile wird eine Zeile mit einem Leerzeichen übertragen. Dabei werden für openFT-Partner folgende Fälle unterschieden:
Initiator | Richtung | Responder | Expansion (ja/nein) |
Unix-, Windows-System | Senden | Unix-, Windows-System | nein, optional ja1 |
Unix-, Windows-System | Holen | Unix-, Windows-System | nein |
Unix-, Windows-System | Senden | BS2000, z/OS | ja, optional nein1 |
Unix-, Windows-System | Holen | BS2000, z/OS | nein (nicht relevant) |
BS2000, z/OS | Senden | Unix-, Windows-System | nein (nicht relevant) |
BS2000, z/OS | Holen | Unix-, Windows-System | ja (beim Initiator) |
BS2000, z/OS | Senden und Holen | BS2000, z/OS | nein |
Bei der Dateiübertragung mit FTAM-Partnern gibt es keine Leerzeilenexpansion. Bei Übertragungen mit dem Zeichensatz GraphicString werden Tabulatoren expandiert, im GeneralString hingegen nicht. Näheres zu FTAM-Zeichensätzen siehe auch Abschnitt „FTAM-Dateien".
Binärformat
Bei der Angabe "Binärformat" wird erwartet, dass die zu übertragende Datei eine unstrukturierte Folge von Binärdaten enthält. Im Empfangssystem wird eine Datei mit undefinierter Satzlänge (d.h. ohne Zeilenende-Kennzeichen) erzeugt. Die Binärdaten bleiben erhalten.
Benutzerformat
Beim Senden von Dateien im Benutzerformat wird davon ausgegangen, dass die zu sendende Datei durch Längenfelder in Sätze strukturiert ist. Die ersten beiden Byte eines jeden Satzes müssen dessen Länge inklusive der Länge des Satzlängenfeldes enthalten. Beim Holen werden diese Längenangaben entsprechend der im fernen System bestehenden Satzlängen erzeugt. Der Inhalt der Sätze wird als Binärdaten behandelt, d.h. er wird nicht umcodiert.
Die Satzstruktur und die Binärdaten bleiben bei der Übertragung erhalten. Die Satzlängenfelder werden in Unix- und Windows-Systemen mit dem höchstwertigen Byte zuerst abgespeichert. Die maximale Satzlänge innerhalb einer Datei im Benutzerformat ist betriebssystemabhängig.