REFORMAT { RS n | LF | LF2 | LF2+[hhhh] | LF4 | DOS | UNIX | BS2 | ST str } [(n)]
REFORMAT UTF
EDT verarbeitet standardmäßig satzstrukturierte ASCII-Dateien, wobei jede Zeile mit CR/LF abgeschlossen ist. Enthält eine Datei keine Zeilenende-Kennzeichen, so kann sie trotzdem bearbeitet werden. EDT liest dann die Datei in Stücken zu je 64 Bytes pro Zeile ein. Solche Zeilen erkennt man daran, dass anstelle des Punktes in der Zeilennummer ein Stern angezeigt wird. Die Datei ist dann im sog. Binär-Modus eingelesen. Dieser Modus kann auch für eine satzstrukturierte Datei beim Kommando READ durch die Option B nach dem Dateinamen erzwungen werden.
Satzstrukturierte Dateien aus anderen Systemen, wie z.B. UNIX oder BS2000, haben einen anderen Aufbau. Um auch solche Dateien im Record-Modus bearbeiten zu können, müssen sie mit dem Kommando REFORMAT analysiert und neu formatiert werden. Die Daten können dann wie eine ASCII-Datei satzweise bearbeitet werden. Die Daten können vor dem Zurückschreiben in die Datei entweder wieder in das ursprüngliche Format umgewandelt werden (Kommando UNFORMAT oder im ASCII-Format gespeichert werden.
Datei mit Sätzen fester Länge
RS n Record-Size. Nach dem Schlüsselwort RS ist die Satzlänge anzugeben. Die Daten des gesamten Arbeitsbereichs werden in Sätze mit der Länge n aufgeteilt. Der letzte Satz kann kürzer sein, falls die Länge des gesamten Arbeitsbereichs kein Vielfaches der angegebenen Satzlänge ist.
Datei mit variabler Satzlänge und Satzlängenfeld
LF2 Length-Field - Länge 2. Die Datei ist so organisiert, dass in den ersten zwei Bytes die Länge des Satzes (einschließlich des Satzlängenfeldes) steht. Ein Satz mit einem Längenfeld von X'0005' enthält z.B. noch drei Nutzbytes. Sätze dieses Formats werden von verschiedenen Textsystemen verwendet (DCA-Format). Enthält das Satzlängenfeld einen Wert < 2, wird die Konvertierung abgebrochen und der gesamte Arbeitsbereich wieder auf den Binärmodus zurückgesetzt. Enthält die Satzlänge einen Wert > max. Satzlänge (Standard 2048, erweiterbar auf 32.767, siehe Menüzeile Optionen / verschiedene Optionen), wird dieser Satz weiter im Binärmodus angezeigt. Alle anderen Sätze werden konvertiert.
LF Length-Field - Länge 2. "LF" hat die gleiche Bedeutung wie LF2 und wird aus Gründen der Kompatibilität weiterhin unterstützt.
LF2+[hhhh] Length-Field - Länge 2 + 2 Byte X'hhhh'. Die Datei ist so organisiert, dass in den ersten zwei Bytes die Länge des Satzes (einschließlich des Satzlängenfeldes) steht. Danach folgen 2 Bytes mit dem Wert X'hhhh'. Fehlt die Angabe hhhh, wird X'4040' benutzt.
LF4 Length-Field - Länge 4. Die Datei ist so organisiert, dass in den ersten vier Bytes die Länge des Satzes (einschließlich des Satzlängenfeldes) steht. Dieses Format wird z.B. in BS2000-ZIP-Archiven benutzt, die nicht im kompatiblen Format erzeugt wurden.
Hinweis:
Wurde die Datei mit dem Kommando UNFORMAT LF2H, vom EDT-Filetransfer oder vom URLServer erzeugt, wird das Format der Datei anhand des Header-Satzes ("EDTWFILELENGTHFIELD") erkannt und das Kommando REFORMAT LF sowie ggf. das Kommando CODE automatisch ausgeführt.
Datei mit anderem Satz-Trennzeichen
ST str Das Satz-Trennzeichen der Datei ist nach dem Schlüsselwort ST anzugeben. Die Zeichenfolge kann als Character-String, als Hexadezimal-String oder als String-Variable angegeben werden. Der Arbeitsbereich wird nach der Zeichenfolge str durchsucht und in Sätze aufgeteilt. Das Satz-Trennzeichen wird gelöscht. Falls ein Satz länger ist als die maximale Satzlänge (Standard 2048, erweiterbar auf 32.767, siehe Menüzeile Optionen / verschiedene Optionen), wird er in 64 Byte langen Teilsätzen dargestellt (zu erkennen an dem Stern in der Zeilennummer).
(n) Arbeitsbereich für die Konvertierung. Ist kein Arbeitsbereich angegeben, wird der Arbeitsbereich 9 benutzt.
UNIX Der aktuelle Arbeitsbereich enthält eine Datei im UNIX-Format mit den Satz-Trennzeichen X'0A'. Die Satz-Trennzeichen werden gelöscht. Mit dem Kommando UNFORMAT kann das ursprüngliche UNIX-Format wieder hergestellt werden. Diese Option hat die gleiche Wirkung wie ST X'0A'.
BS2 Der aktuelle Arbeitsbereich enthält eine Datei im POSIX-Format des BS2000 mit den Satz-Trennzeichen X'15'. Die Satz-Trennzeichen werden gelöscht. Mit dem Kommando UNFORMAT kann das ursprüngliche UNIX-Format wieder hergestellt werden. Diese Option hat die gleiche Wirkung wie ST X'15'.
DOS Der aktuelle Arbeitsbereich enthält eine Datei im MS-DOS-Format mit den Satz-Trennzeichen X'0D0A'. Die Satz-Trennzeichen werden gelöscht. Mit dem Kommando UNFORMAT kann das ursprüngliche MS-DOS-Format wieder hergestellt werden. Diese Option hat die gleiche Wirkung wie ST X'0D0A'.
UTF-8 Daten in UNICODE umwandeln
UTF Konvertierung eines Arbeitsbereichs mit UTF-8-Daten, falls die Daten wegen des fehlenden UNICODE-Headers im Character-Format eingelesen wurden. UTF-8 kann z.B. daran erkannt werden, dass Deutsche Umlaute als "Ã" (X'C3') mit einem nachfolgend nicht abdruckbaren Zeichen dargestellt werden. Die Daten werden vom variablen Format nach UNICODE umgewandelt. Beim Schreiben eines solchen Arbeitsbereichs wird automatisch wieder eine Datei im UTF-8-Format ohne Header erstellt.
UTF-8 (Abk. für 8-bit Unicode Transformation Format) ist die verbreitetste Codierung für Unicode-Zeichen. Damit werden die meisten Alphabete und Schriftzeichensysteme umfasst, die weltweit derzeit genutzt werden, also nicht nur die lateinischen Buchstaben und arabischen Zahlen, sondern zum Beispiel auch die arabische, griechische, kyrillische, koreanische oder thailändische Schrift. Dabei wird jedem Unicode-Zeichen eine speziell codierte Bytekette von variabler Länge zugeordnet. UTF-8 unterstützt bis zu 4 Byte, auf die sich wie bei allen UTF-Formaten alle 1.114.112 Unicode-Zeichen abbilden lassen.
Beispiel:
reformat rs55 
reformat lf
reformat st '**
]
reformat st x'0509' (22)
reformat unix
reformat utf