Mit dieser Anweisung extrahieren Sie eine oder mehrere Dateien aus dem aktuell geöffneten ZIP-Archiv.
EXTRACT-FILE | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
FILE-NAME = *ALL
Alle im Archiv enthaltenen Dateien werden extrahiert.
FILE-NAME = <composed-name 1..98 with-under with-wild(132)>
Die angegebene Datei wird aus dem ZIP-Archiv extrahiert. Bei Verwendung von Musterzeichen werden alle Dateien, die der Musterzeichenfolge entsprechen, aus dem ZIP-Archiv extrahiert.
FILE-NAME = <c-string 1..1024 with-low>
Alle Dateien, die der angegebenen Zeichenfolge entsprechen (Musterzeichen entsprechend den SDF-Regeln für Auswahlangaben sind erlaubt (siehe SDF-Metasyntax, Handbuch „Kommandos“ [2]), werden aus dem ZIP-Archiv extrahiert. Die Angabe als C-String ist zu verwenden, wenn das Archiv nicht in einem BS2000-System erstellt wurde und die betroffenen Dateinamen nicht BS2000-konform sind (z.B. Groß-/Kleinschreibung).
FILE-NAME = *PATH-NAME(...)
Die angegebene Datei wird aus dem Container extrahiert. Der Operand interpretiert Zeichen wie Schrägstrich, Sternchen, eckige Klammern und andere nicht als Platzhalter, sondern als Teil des Dateinamens. Verwenden Sie diesen Operanden, um einen relativen Pfadnamen innerhalb des ZIP-Containers anzugeben.
TO-FILE = *BY-SOURCE / <filename 1..54 without-gen-vers with-wild-constr(80)>Entsprechend der Herkunft der komprimierten Dateien gilt für den Ausgabenamen Folgendes:
Bei BS2000-Dateien wird der Name der Ausgabedatei entsprechend den SDF-Regeln für Konstruktionsangaben gebildet (siehe SDF-Metasyntax, Handbuch
„Kommandos“ [2]).Bei Nicht-BS2000-Dateien (PC, UNIX-System) wird der Name der Ausgabedatei so gebildet, dass das Zeichen * im Operanden TO-FILE durch den im Archiv enthaltenen Dateinamen ersetzt wird. Der mögliche Pfad der Datei wird bei Erstellung des Dateinamens ignoriert.
TO-FILE=
BS2000-Datei
Nicht-BS2000-Datei
*BY-SOURCE
Der Ausgabedateiname ist der Dateiname, wie er im Archiv registriert wurde.
wurde er mit Katalog- und Benutzerkennung eingetragen, wird er mit dieser Katalog- und Benutzerkennung extrahiert
wurde er ohne Katalog- und Benutzerkennung eingetragen, wird er unter der aktuellen Katalog- und Benutzerkennung extrahiert
Der Ausgabedateiname ist der Dateiname ohne Zugriffspfad mit der aktuellen Katalog-/Benutzerkennung als Präfix.
Dateinamen, die nicht der Syntax im BS2000 entspechen, werden von BS2ZIP umbenannt (s.u).<filename 1..54
without-gen-verswith-wildconstr(80)>
Gültiges Format ist:
Dateiname ohne Platzhalter
Dateiname mit Platzhalter:
der Name der Ausgabedatei ist entsprechend den SDF-Regeln für Konstruktionsangaben gebildet.
Entspricht der resultierende Dateiname nicht der Syntax im BS2000, wird die Entnahme der Datei abgelehnt.
Gültiges Format ist:
ein Pfadname ohne Platzhalter
[<PREFIX>]*[<SUFFIX>]: Der Name der Ausgabedatei ist dann [<PREFIX>]filename[<SUFFIX>].
filename ist der eingetragene Dateiname ohne Zugriffspfad.
Entspricht der resultierende Dateiname nicht der Syntax im BS2000, wird er von BS2ZIP umbenannt (s.u).
Wenn einige Namen der komprimierten Dateien nicht mit BS2000 kompatibel sind, muss man sie einzeln extrahieren und jeweils einen gültigen Ausgabenamen angeben. Wenn sich beim Extrahieren ein ungültiger Dateiname ergibt, erhält die die betroffene Datei ersatzweise den folgenden Dateinamen:
FILExxxx.yyyymmdd.hhmmss
Dabei ist xxxx eine fortlaufende Nummer und yyyymmdd.hhmmss steht für das aktuelle Datum und die aktuelle Uhrzeit. Die vorgenommene Umbenennung zeigt BS2ZIP mit der Meldung
SZP0090
an. Beispiel:% SZP0090 Warning. File name 'TEST_KDO_1.HTM' is not BS2000 compliant.
The file will be extracted under the name 'FILE0001.20111108.161442'
Die Katalog-/Benutzerkennung dieser Dateien wird vom <PREFIX> übernommen. Falls sie nicht angegeben sind, wird standardmäßig die Katalog- und Benutzerkennung des aktuellen Benutzers verwendet.
WRITE-MODE = *CREATE
Die Ausgabedatei wird neu erzeugt, sie darf nicht existieren. Die Anweisung wird zurückgewiesen, wenn die Datei schon existiert.WRITE-MODE = *REPLACE-ONLY
Die Ausgabedatei muss existieren und wird ersetzt. Die Anweisung wird zurückgewiesen, wenn die Datei nicht existiert.WRITE-MODE = *ANY
Die Ausgabedatei wird überschrieben, wenn sie schon existiert, bzw. wird erstellt, falls sie noch nicht existiert.DATA-TYPE =
Der Operand DATA-TYPE steuert die Datensatzstruktur der zu extrahierenden Dateien.DATA-TYPE
Archiv-Format
WINZIP-COMPATIBLEArchiv-Format BS2000
*NOT‑SPECIFIED
Wenn im ZIP-Archiv keine Datei-Info gefunden wird,
dann wird *CHARACTER angenommen,
anderfalls wird die Datei-Info verwendet.Die Konvertierung erfolgt gemäß Dateityp und Angabe im Operanden CHARACTER-CONVERSION.
Wenn keine Datei-Info gefunden wird, dann führt dies zu einem Fehler, andernfalls wird die Datei-Info verwendet
- keine Konvertierung*CHARACTER
Die Datei wird als SAM-Datei extrahiert. Es wird davon ausgegangen, dass die Sätze durch 0D0A getrennt sind.
Die Konvertierung wird gemäß der Angabe im Operanden CHARACTER-CONVERSION durchgeführt.Die Anweisung wird zurückgewiesen.
*BINARY
Die Datei wird als PAM-Datei extrahiert.
Es wird keine Konvertierung durchgeführt.
Im Fall von Original-PAM-Dateien wird die Anweisung mit der Fehlermeldung SZP0121 zurückgewiesen.Die Anweisung wird zurückgewiesen.
*SAM-BINARY
Die Datei wird als binäre SAM-Datei (REC-FORM=U) extrahiert.
Es wird keine Konvertierung durchgeführt.Die Anweisung wird zurückgewiesen.
CHARACTER-CONVERSION =
Dieser Operand steuert die WIN-ANSI/EBCDIC-Konvertierung. Die Konvertierung wird nur unterstützt für WinZip-kompatible Archive und für folgende Dateien:Datei extrahiert mit DATA-TYPE=*CHARACTER
Datei extrahiert mit DATA-TYPE=*NOT-SPECIFIED und die Datei ist in der Datei-Info nicht als PAM-Datei ausgewiesen.
CHARACTER- CONVERSION
Konvertierungsverhalten
*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
Unterstützte Zeichensätze: WCP1252P, UTF8, ISO88591, ISO8859F (XHCS-Namen, siehe Manual XHCS)*TO-CCS Coded-Character-Set der konvertierten Ziel-Datei
Unterstützte Zeichensätze: EDF04F, EDF041, EDF03DRV, EDF03IRV, EDF04DRV, EDF04IRV (XHCS-Namen, siehe Manual XHCS)BLOCK-CONTROL-INFO =
Steuert die Blockkontrolleigenschaft der resultierenden Datei. Dies erlaubt insbesondere das Extrahieren von Original-PAMKEY-Dateien auf einer NK-Platte.BLOCK-CONTROL-INFO = *KEEP
Die resultierende Datei behält die Blockkontrolleigenschaft der ursprünglichen Datei.BLOCK-CONTROL-INFO = *IGNORE
Die resultierende Datei wird mit der Standard-Blockkontrolle der Platte erstellt, auf der sie gespeichert wird.Hinweise
Wenn mit der Anweisung MODIFY-ZIP-OPTIONS Datenverschlüsselung eingestellt wurde, werden verschlüsselte Dateien beim Extrahieren wieder entschlüsselt. Die dabei verwendete Standard-Zip-2.0-Verschlüsselung ist kompatibel zu WinZip auf Windows-basierten Systemen.
Dateien, die aus einem in BS2000 erstellten Archiv extrahiert werden, werden mit denselben Organisationsmerkmalen wie die Originaldatei erstellt, außer Blockfüllungsfaktor (PADDING-FACTOR) und Blockformat. Der Blockfüllungsfaktor ist der Standard-DMS-Blockfüllungsfaktor. Das hat zur Folge, dass die Größe der extrahierten SAM- und ISAM-Datei differieren kann von der Größe der Originaldateien.
Dateien, die aus einem in einer fremden Umgebung erstellten Archiv extrahiert werden, werden erstellt
als SAM-Dateien mit BUF-LEN=STD(16), falls DATA-TYPE=*NOT-SPECIFIED oder *CHARACTER,
als PAM-Dateien mit BUF-LEN=STD(16), falls DATA-TYPE=*BINARY ist, und
als SAM-Dateien mit REC-FORM=U, falls DATA-TYPE=*SAM-BINARY ist.
K-/NK-Platten
Wenn eine komprimierte Datei mit PAMKEY-Blockkontrolle auf einer NK-Platte extrahiert werden muss, dann muss man den Operanden BLOCK-CONTROL-INFO=*IGNORE verwenden. Die Datei wird in das NK-Format konvertiert. Bei SAM- oder ISAM-Dateien, deren Sätze den gesamten im Block verfügbaren Platz einnehmen, werden jedoch Daten abgeschnitten. In diesem Fall wird ein Fehler gefunden und der Extraktionsvorgang für die aktuelle Datei abgebrochen. Die Ausgabe-Datei wird gelöscht.
Um komprimierte Dateien (insbesondere Lade-Module) von NK-Platten auf einer K-Platte zu extrahieren, müssen Sie die BLOCK-CONTROL-INFO=*KEEP angeben.
Wenn während der Ausführung der Anweisung EXTRACT-FILE die K2-Taste gedrückt wird, wird die Verarbeitung mit der Fragemeldung
SZP0208
unterbrochen:Der Benutzer kann die Verarbeitung einfach fortsetzen.
Der Benutzer kann die Verarbeitung beenden und kehrt zurück in den Anweisungsmodus (//). Die Dateien, die bis zum Unterbrechungszeitpunkt nicht extrahiert sind, werden nicht mehr extrahiert. Sie müssen ggf. erneut extrahiert werden.
Bei der Auswahl von Dateien, die von fremden Plattformen kommen, ist zu berücksichtigen, dass bei den registrierten Dateinamen zwischen Groß- und Kleinschreibung unterschieden wird. Daher muss man für die Auswahl von Dateinamen mit Kleinbuchstaben das C-String-Format verwenden.
Regeln für die Benennung extrahierter Dateien
BS2000-Dateien (beachten Sie die SDF-Regeln für Konstruktionsangaben, Handbuch „Kommandos“ [2])
FILE-NAME
TO-FILE
Eingetragener Dateiname
Resultierender Dateiname 1
MYFILE1
*BY-SOURCE
MYFILE1
:ccid:$cuid.MYFILE1
*
*BY-SOURCE
MYFILE1
MYFILE2:ccid:$cuid.MYFILE1
:ccid:$cuid.MYFILE2MY*
EXT-*
MYFILE1
MYFILE2:ccid:$cuid.EXT-FILE1
:ccid:$cuid.EXT-FILE2MYFILE1
*BY-SOURCE
:XXXX:$UID.MYFILE1
keine Datei gefunden
:XXXX:$UID.
*BY-SOURCE
:XXXX:$UID.MYFILE1
:XXXX:$UID.MYFILE1
$UID.
*BY-SOURCE
$UID.MYFILE1
:ccid:$UID.MYFILE1
1Dabei ist $cuid = aktuelle Benutzerkennung und :ccid = Katalogkennung der Benutzerkennung
Nicht-BS2000-Dateien:
FILE-NAME
TO-FILE
Eingetragener Dateiname
Resultierender Dateiname 1
MYFILE1
*BY-SOURCE
/temp/data/myfile.txt
keine Datei gefunden
*
*BY-SOURCE
/temp/data/myfile1.txt
/temp/data/myfile2.txt:ccid:$cuid.MYFILE1.TXT
:ccid:$cuid.MYFILE2.TXT'*myfile*'
EXT-*
/temp/data/myfile1.txt
/temp/data/myfile2.txt:ccid:$cuid.EXT-MYFILE1.TXT
:ccid:$cuid.EXT-MYFILE2.TXT1Dabei ist $cuid = aktuelle Benutzerkennung und :ccid = Katalogkennung der Benutzerkennung
LOGGING = *MINIMUM / *MAXIMUM
Legt den Umfang der Meldungsausgabe fest.LOGGING = *MINIMUM
Nur Fehlermeldungen werden ausgegebenLOGGING =*MAXIMUM
Alle Meldungen werden ausgegeben. Derzeit wird nach jedem Extrahieren einer Datei die (garantierte) Meldung SZP0122 ausgegeben; in Zukunft werden gegebenenfalls weitere Meldungen ausgegeben.