Mit BS2ZIP können in BS2000-Systemen ZIP-Archive erstellt sowie Dateien zu diesen Archiven hinzugefügt bzw. aus ihnen extrahiert werden. Die ZIP-Datenkomprimierung erfolgt im Zlib-Format.
Diese Anwendung gestattet ferner das Lesen von ZIP-Archiven, die auf offenen Systemen (Windows, UNIX-Systeme, Linux) erstellt wurden, sofern die Zlib-Datenkomprimierungsmethode verwendet wurde und sofern sie kompatibel mit PKZIP 4.5 oder GZIP sind.
Die in BS2000 erstellten Archive können auch auf offenen Systemen geöffnet werden, wenn sie im WinZip-kompatiblen Format erstellt wurden.
Das Kommando zum Starten der Anwendung BS2ZIP lautet /START-ZIP-MANAGER bzw. /START-ZIP.
Nach dem Start der Anwendung kann man mit der Anweisung OPEN-ZIP-CONTAINER ein vorhandenes Archiv öffnen oder ein neues Archiv erstellen. Im Falle eines neuen Archivs muss der Benutzer das geeignete Archivformat in Abhängigkeit von dem geplanten Gebrauch des zu erstellenden Archivs (Operand FORMAT der Anweisung) wählen.
Bei der Wahl des richtigen Formats sind die folgenden Regeln zu beachten:
Archiv erstellen:
Falls man beabsichtigt, das Archiv nur auf BS2000-Plattformen zu verwenden, kann man das Archiv im BS2000-Format erstellen. Auch wenn Sie SAM- oder ISAM-Dateien einschließlich spezieller Drucksteuerzeichen komprimieren, verwenden Sie das BS2000-Format.
Beabsichtigt man, das Archiv auf offenen Systemen zu exportieren, muss man das Archiv im Format *WINZIP-COMPATIBLE (Standardformat) erstellen.
Archiv öffnen:
Das Archiv-Format muss beim Öffnen eines bestehenden Archivs nicht spezifiziert werden. Das Programm findet das entsprechende Format selbst. Wenn das Format jedoch spezifiziert wird, muss es dem tatsächlichen Format des Archivs entsprechen, sonst wird die Anweisung OPEN-ZIP-CONTAINER abgelehnt. Nachdem das Archiv geöffnet wurde, können Dateien hinzugefügt oder extrahiert werden.
Die nachstehende Tabelle bietet einen Überblick über die standardmäßig vorgegebene Behandlung der verschiedenen Dateitypen durch BS2ZIP in Abhängigkeit vom Format, in dem das Archiv geöffnet wird:
ZIP-Format | Dateizugriffsmethode | |||||
SAM | ISAM | PAM/PLAM | ||||
WINZIP-COMPATIBLE | A: | Nur die Daten werden gespeichert. | A: | Daten und Schlüssel werden gespeichert. | A: | Speicherung im Binärformat ohne Konvertierung. |
X: | Die Dateien werden mit denselben Eigenschaften wie die Originaldatei extrahiert. | X: | Die Dateien werden mit denselben Eigenschaften wie die Originaldatei extrahiert. | X: | Die Dateien werden mit denselben Eigenschaften wie die Originaldatei extrahiert. | |
BS2000 | A: | Die Satzlänge wird mit den Daten gespeichert. Keine Konvertierung. | A: | Die Satzlänge wird mit den Daten gespeichert. Keine Konvertierung. | A: | Speicherung im Binärformat. |
X: | Die Dateien werden mit denselben Eigenschaften wie die Originaldatei extrahiert. | X: | Die Dateien werden mit denselben Eigenschaften wie die Originaldatei extrahiert. | X: | Die Dateien werden mit denselben Eigenschaften wie die Originaldatei extrahiert. | |
A: (add) Hinzufügen
X: (extract) Extrahieren
Bei den Anweisungen ADD-FILE und EXTRACT-FILE kann man dieses Standardverhalten auch ändern. Für weitere Einzelheiten siehe die Beschreibung dieser Anweisungen.
Hinweis
Hier und überall sonst in diesem Dokument, wo UTF16 erwähnt wird, ist UTF16 Big Endian gemeint. Die Little-Endian-Variante von UTF16 wird nicht unterstützt, da sie von XHCS nicht unterstützt wird. Wenn Dateien in UTF16 zu/aus Archiven hinzugefügt/extrahiert werden, fügt BS2ZIP keine BOM hinzu, wenn es in der Datei nicht vorhanden ist, und entfernt es nicht, wenn es vorhanden ist.
BS2ZIP unterstützt vier CCSNAME-Typen: *EBCDIC, *ASCII, *UNICODE und *UNKNOWN (siehe Tabelle unten). Die Anweisungen ADD-FILE und EXTRACT-FILE verfügen über die Option CHARACTER-CONVERSION, um die gewünschte Konvertierung explizit festzulegen. Bei der Ausführung des Befehls ADD-FILE speichert BS2ZIP den CCSNAME einer Originaldatei in der Dateiinfo (Dateikommentar, der die ursprünglichen Dateiattribute enthält). Die aktuelle Kodierung der Datei wird im erweiterbaren Datenfeld gespeichert. EXTRACT-FILE kann mithilfe von CHARACTER-CONVERSION bestimmen, welche Konvertierung zur Wiederherstellung der Datei erforderlich ist. Standardmäßig stellt EXTRACT-FILE die ursprüngliche Dateikodierung wieder her; CHARACTER-CONVERSION ermöglicht es aber auch, die Ausgabedatei in ASCII oder EBCDIC umzucodieren oder während der Extraktion keine Konvertierungen vorzunehmen. Unicode-Typen werden während ADD-FILE oder EXTRACT-FILE nicht konvertiert, es sei denn es wird CHARACTER-CONVERSION = *BY-PARAMETERS verwendet. Dateien mit unbekanntem Zeichensatz sind von der Zeichenkonvertierung ausgeschlossen und können nur mit CHARACTER-CONVERSION = *NO hinzugefügt werden. Diese Dateien können nur mit CHARACTER-CONVERSION = *NO oder CHARACTER-CONVERSION = *BY-PARAMETERS extrahiert werden. D.h. die Metainformationen der Dateien werden ignoriert, wenn der Anwender keine Konvertierung wünscht oder eine Konvertierung von einem bestimmten Zeichensatz in einen anderen spezifiziert.
| *EBCDIC | *ASCII | *UNICODE | *UNKNOWN |
|---|---|---|---|
EDF03IRV EDF03DRV EDF04DRV EDF041 EDF042 EDF043 EDF044 EDF045 EDF046 EDF047 EDF049 EDF04A EDF04B EDF04C EDF04D EDF04E EDF04F EEHCL2 EEHCLC EEHCLC1 EEHCLAA EEHCLG | ISO88591 ISO88592 ISO88593 ISO88594 ISO88595 ISO88597 ISO88599 ISO8859F WCP1252P | UTF8 UTFE UTF16 | Alle CCSNAMEs, die in |
Von BS2ZIP hinzugefügte Dateien haben immer Kommentare, die mit „*BS2:“ beginnen und die Original-BS2000-Dateiattribute enthalten. Fehlt dieser Kommentar, geht BS2ZIP davon aus, dass die Datei von einem Nicht-Bs2000-System stammt. Standardmäßig scannt nun BS2ZIP vor dem Extrahieren die ersten 32 kB der Fremddatei, um deren Kodierung zu bestimmen (es wird zwischen ISO8859F, WCP1252, UTF8 und UTF16 unterschieden). Um diesen Schritt zu unterdrücken, verwenden Sie den Operanden CHARACTER-CONVERSION=*TO-EBCDIC (Datei wird von ISO8859F nach EDF04F konvertiert) / *TO-WIN-ANSI (Datei wird von EDF04F nach ISO8859F konvertiert) / *BY-PARAMETERS (Eingabe- und Ausgabekodierungen werden manuell festgelegt).
Alternativ kann mit dem Operanden WRITE-MODE dieser Scan für die extrahierte Fremddatei übersprungen werden. Wenn WRITE-MODE = *REPLACE-ONLY oder WRITE-MODE = *ANY angegeben ist, kann BS2ZIP die extrahierte Datei aus dem Archiv in eine vorhandene Datei schreiben, wobei das CODED-CHARACTER-SET-Attribut der existierenden Datei erhalten bleibt. Die Art der Zeichenkonvertierung wird aus diesem CODED-CHARACTER-SET-Attribut und dem Wert des Operanden CHARACTER-CONVERSION abgeleitet.
Bei Archivelementen, die vor Version V21.0B10 zu einem WinZip-kompatiblen Container hinzugefügt wurden, zeigt CRLF (0D0A) immer das Ende eines Datensatzes an, während ab Version V21.0B10 das Zeilentrennzeichen entsprechend der Kodierung der Datei ausgewählt wird (000D000A für UTF16, 0D25 für EBCDIC, 0D0A für den Rest). Die Originaldatei kann 0D0A oder 0A in der entsprechenden Codierung enthalten, andernfalls ist die Datei beim Extrahieren korrupt. Ein WinZip-kompatibles Archiv sollte keine nicht abdruckbaren SAM- oder ISAM-Dateien enthalten.
ADD-FILE
CHARACTER-CONVERSION | Bedeutung |
*BY-CONTAINER-FORMAT | Standardwert. Verhalten abhängig vom Format, mit dem das ZIP-Archiv geöffnet wird. |
*NO | Es wird keine Konvertierung durchgeführt. |
*TO-EBCDIC | EBCDIC-Konvertierung wird durchgeführt (nur bei ASCII-codierten SAM/ISAM-Dateien). |
*TO-WIN-ANSI | WIN-ANSI-Konvertierung wird durchgeführt (nur bei EBCDIC-codierten SAM/ISAM-Dateien). |
EXTRACT-FILE
Das durch das Format des ZIP-Archivs festgelegte Format zum Öffnen kann geändert werden:
DATA-TYPE | Archiv-Format | |
WINZIP-COMPATIBLE | BS2000 | |
*NOT-SPECIFIED | Wenn im ZIP-Archiv keine Datei-Info gefunden wird, dann wird *CHARACTER angenommen, andernfalls wird die Datei-Info verwendet. | Wenn keine Datei-Info gefunden wird, dann führt dies zu einem Fehler, andernfalls wird die Datei-Info verwendet. |
*CHARACTER | Die Datei wird als SAM-Datei extrahiert. | Anweisung wird zurückgewiesen. |
*BINARY | Die Datei wird als PAM-Datei extrahiert. | Anweisung wird zurückgewiesen. |
*SAM-BINARY | Die Datei wird als SAM-Datei mit REC-FORM=U extrahiert, . | Anweisung wird zurückgewiesen. |
CHARACTER-CONVERSION | Bedeutung |
*BY-CONTAINER-FORMAT | Standardwert. Das Verhalten ist abhängig vom Format, mit dem das ZIP-Archiv geöffnet wird. |
*NO | Es wird keine Konvertierung durchgeführt. |
*TO-WIN-ANSI | WIN-ANSI-Konvertierung wird durchgeführt (nur beim Entpacken in SAM/ISAM-Datei). |
*TO-EBCDIC | EBCDIC-Konvertierung wird durchgeführt (nur beim Entpacken in SAM/ISAM-Datei). |
| *BY-PARAMETERS(...) | Die Konvertierung wird gemäß der Angaben zu Quell- und Ziel-Zeichensatz durchgeführt (nur beim Entpacken in SAM/ISAM-Datei). |
| FROM-CCS | Coded-Character-Set der zu konvertierenden Quell-Datei |
| TO-CCS=*STD | Der codierte Zielzeichensatz wird ausgewählt, indem der erste vollständig kompatible codierte Zeichensatz in EBCDIC mit derselben ISO-Codevariantennummer wie der ursprünglich codierte Zeichensatz ermittelt wird. Wenn der ursprünglich codierte Zeichensatz Unicode ist, wird keine Konvertierung durchgeführt. (ISO-Code-Variantennummer, siehe Handbuch XHCS) |
| TO-CCS | Coded-Character-Set der konvertierten Ziel-Datei |
Blockformat beim Extrahieren auf verschiedene Plattenformate
BS2ZIP berücksichtigt beim Extrahieren einer Datei das Format der Platte, auf der die Datei abgelegt wird, das im Archiv hinterlegte Blockformat (BLOCK-CONTROL-INFO) der Originaldatei und die Angabe im Operanden BLOCK-CONTROL-INFO, die steuert, ob das Blockformat beibehalten werden muss. Dies führt dazu, dass die Datei in einigen Fällen nicht extrahiert werden kann oder dass für die extrahierte Datei ein von der Originaldatei abweichendes Blockformat gewählt werden muss.
Extrahieren auf K-Platten
Die extrahierten Dateien erhalten das Blockformat der Originaldatei.
Extrahieren auf NK2-Platten
Dateien mit dem Blockformat PAMKEY können mit der Angabe BLOCK-CONTROL=*KEEP nicht extrahiert werden.
Abhängig vom Archivformat wird mit der Angabe BLOCK-CONTROL=*IGNORE das Blockformat wie folgt gesetzt:
Eigenschaften der | Angabe im Operanden BLOCK-CONTROL | ||||
(Format BS2000) | (Format WINZIP-COMPATIBLE) | ||||
FCB-Type | BLK-CTRL | *KEEP | *IGNORE | *KEEP | *IGNORE |
PAM | PAMKEY | nicht extrahiert | NO | nicht extrahiert | NO |
PAM | DATA | wie Original | wie Original | wie Original | wie Original |
PAM | NO | wie Original | wie Original | wie Original | wie Original |
SAM | PAMKEY | nicht extrahiert | DATA | nicht extrahiert | DATA |
SAM | DATA | wie Original | wie Original | wie Original | wie Original |
ISAM | PAMKEY | nicht extrahiert | DATA2K | nicht extrahiert | DATA2K |
ISAM | DATA | wie Original | wie Original | wie Original | wie Original |