Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

EXTRACT-FILE

&pagelevel(4)&pagelevel

Mit dieser Anweisung extrahieren Sie eine oder mehrere Dateien aus dem aktuell geöffneten ZIP-Archiv.

EXTRACT-FILE

FILE-NAME = *ALL / <composed-name 1..98 with-under with-wild(132)> / <c-string 1..1024 with-low> / *PATH-NAME(...)

*PATH-NAME(...)


|PATH=<c-string 1..1800 with-low>
, TO-FILE = *BY-SOURCE / <filename 1..54 without-gen-vers with-wild-constr(80)>
, WRITE-MODE = *CREATE / *REPLACE-ONLY / *ANY
, DATA-TYPE = *NOT-SPECIFIED / *CHARACTER / *BINARY / *SAM-BINARY
, CHARACTER-CONVERSION = *BY-CONTAINER-FORMAT / *NO / *TO-WIN-ANSI / *TO-EBCDIC / *BY-PARAMETERS(...)

*BY-PARAMETERS(...)


|FROM-CCS = WCP1252P / < name 1..8>                                                              


|TO-CCS = EDF04F / < name 1..8>
, BLOCK-CONTROL-INFO = *KEEP / *IGNORE
,PAD-EMPTY-RECORD = *NO / *YES
,DELIMITER = *STD / *CRLF / *LF / *NL / *0D0A / *0A / *0D25 / *25 / *15 / *000D000A / *000A
,LOGGING = *MINIMUM / *MAXIMUM

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-vers

with-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 = 
Gibt an, ob eine vorhandene Datei überschrieben werden soll. 

Beim Überschreiben einer vorhandenen Datei bestimmt der CODED-CHARACTER-SET der vorhandenen Datei die Kodierung der extrahierten Datei. Anhand des Operanden CHARACTER-CONVERSION und gemäß folgender Tabelle wird die Konvertierung durchgeführt:

CHARACTER-CONVERSION 

C-C-S der vorhandenen Datei / Katalogeintrag

Aktuelle Codierung der Datei im Archiv

Konvertierungsart

*BY-CONTAINER-FORMATNon-UTF EBCDIC (EDF041, EDF042, ...) Non-UTF ASCII (ISO88591, ISO88592, ...)ASCII -> EBCDIC
*BY-CONTAINER-FORMATNon-UTF ASCII (ISO88591, ISO88592, ...)Gleiche non-UTF ASCII (ISO88591, ISO88592, ...)Keine Konvertierung
*BY-CONTAINER-FORMATUTF (UTF8, UTF16, UTFE)gleiche KodierungKeine Konvertierung
*NObeliebige Kodierunggleiche KodierungKeine Konvertierung
*TO-WIN-ANSINon-UTF ASCII (ISO88591, ISO88592, ...)Non-UTF EBCDIC(EDF041, EDF042, ...)EBCDIC-> ASCII
*TO-WIN-ANSINon-UTF EBCDIC (EDF041, EDF042, ...)ExtraktionsfehlerExtraktionsfehler
*TO-WIN-ANSIUTF (UTF8, UTF16, UTFE)gleiche UTF (UTF8, UTF16, UTFE) KodierungKeine Konvertierung
*TO-EBCDICNon-UTF ASCII (ISO88591, ISO88592, ...)ExtraktionsfehlerExtraktionsfehler
*TO-EBCDICNon-UTF EBCDIC (EDF041, EDF042, ...)Non-UTF ASCII (ISO88591, ISO88592, ...)ASCII -> EBCDIC
*TO-EBCDICUTF (UTF8, UTF16, UTFE)gleiche UTF (UTF8, UTF16, UTFE) KodierungKeine Konvertierung
*BY-PARAMETERS(FROM-CCS,TO-CSS)beliebige Kodierung (vorhandener Katalogeintrag wird ignoriert)FROM-CCS WertFROM-CCS -> TO-CSS

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. 
Wenn BS2ZIP eine fremde Textdatei extrahiert, ermittelt es das CODED-CHARACTER-SET-Attribut der zu überschreibenden Datei.Dieses Attribut wird als Kodierung der extrahierten Datei verwendet. Aus diesem Attribut leitet BS2ZIP entsprechend obiger Tabelle außerdem den CCSNAME der Kodierung ab, in der die Datei im Archiv gespeichert ist.

WRITE-MODE = *ANY
Die Ausgabedatei wird überschrieben, wenn sie schon existiert, bzw. wird erstellt, falls sie noch nicht existiert. 
Wenn BS2ZIP eine fremde Textdatei extrahiert, ermittelt es das CODED-CHARACTER-SET-Attribut der zu überschreibenden Datei.Dieses Attribut wird als Kodierung der extrahierten Datei verwendet.Aus diesem Attribut leitet BS2ZIP entsprechend obiger Tabelle außerdem den CCSNAME der Kodierung ab, in der die Datei im Archiv gespeichert ist.

DATA-TYPE =
Der Operand DATA-TYPE steuert die Datensatzstruktur der zu extrahierenden Dateien.

DATA-TYPE

Archiv-Format
WINZIP-COMPATIBLE

Archiv-Format BS2000

*NOT‑SPECIFIED

Wenn im ZIP-Archiv keine Datei-Info gefunden wird, wird *CHARACTER angenommen, andernfalls wird die Datei-Info verwendet.
Die Konvertierung erfolgt gemäß Dateityp und Angabe im Operanden CHARACTER-CONVERSION.

Wenn keine Datei-Info gefunden wird, 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 für folgende Dateien unterstützt:

  • Datei wird mit DATA-TYPE=*CHARACTER extrahiert

  • Datei wird mit DATA-TYPE=*NOT-SPECIFIED extrahiert und die Datei ist in der Datei-Info nicht als PAM-Datei ausgewiesen.

Die Art der Konvertierung wird durch das Vorhandensein und die Werte des CODED-CHAR-SET-Attributs und des erweiterten Datenfelds bestimmt. Sowohl diese Metadaten als auch der Kodierungstyp kann mit der Anweisung SHOW-FILE-ATTRIBUTES mit dem Operanden INFORMATION=*ALL überprüfen werden.

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-CCSCoded-Character-Set der zu konvertierenden Quell-Datei

TO-CCS=*STDDer Coded-Character-Set der Zieldatei wird ausgewählt, indem der erste vollständig kompatible Coded-Character-Set in EBCDIC mit derselben ISO-Codevariantennummer wie der ursprünglich Coded-Character-Set gefunden wird. Wenn der ursprüngliche Coded-Character-Set ein Unicode Zeichensatz ist, wird keine Konvertierung durchgeführt. (ISO-Code-Variantennummer, siehe Handbuch XHCS

TO-CCSCoded-Character-Set der konvertierten Ziel-Datei

Die Art der Konvertierung wird bestimmt durch:

  • den Wert des Operanden CHARACTER-CONVERSION
  • den Wert des Operanden DATA-TYPE
  • den WRITE-MODE-Operanden und ggf. dem Attribut CODED-CHARACTER-SET der zu überschreibenden Datei
  • das Vorhandensein und der Wert des Attributs FCBTYPE aus der Datei-Info der Datei im Archiv
  • das Vorhandensein und der Wert des Attributs CODED-CHAR-SET aus der Datei-Info der Datei im Archiv
  • das Vorhandensein und die Werte des erweiterbaren Datenfelds.
  • Überprüfung der ersten 32 kB der Datei (wird nur durchgeführt, wenn das Attribut CODED-CHAR-SET in der Datei-Info nicht vorhanden ist)

Die Metadaten der Datei im Archiv (oder Datei-Info) können mit der BS2ZIP-Anweisung SHOW-FILE-ATTRIBUTES mit dem Operanden INFORMATION=*ALL  unter COMMENTS überprüft werden. Diese Datei-Infos mit Dateiattributen sollten in den Metadaten aller von BS2ZIP hinzugefügten Dateien enthalten sein. Sie enthalten das Attribut CODED-CHAR-SET, das die ursprüngliche Kodierung der hinzugefügten Dateien angibt. Wenn die Datei-Info in den Metadaten einer Datei im Archiv nicht vorhanden ist, wird davon ausgegangen, dass es sich bei der Datei um eine BS2000-fremde Datei handelt, d. h. es wurde von einem Archivmanager eines Drittanbieters auf Nicht-BS2000-Systemen hinzugefügt. Standardmäßig werden solche Dateien gescannt, um die wahrscheinlichste Kodierung zu ermitteln  (ISO8859F, WCP1252, UTF8 oder UTF16). Der Algorithmus zur Kodierungserkennung beruht auf einer Heuristik, so dass empfohlen wird, die Typzeichenkonvertierung manuell einzustellen. Ab V21.B10 wird das erweiterbare Datenfeld von BS2ZIP allen Dateien von BS2ZIP hinzugefügt. Es enthält ein Feld mit dem Namen der Kodierung, in der die Datei im Archiv gespeichert ist.

Die Zeichenkonvertierung von Dateien in Unicode-Varianten ist nur mit CHARACTER-CONVERSION=*BY-PARAMETERS() verfügbar. Beim Extrahieren von Unicode-Dateien mit allen anderen Werten dieses Operanden wird die Zeichenkonvertierung übersprungen. Unterstützte Unicode-CCSNAMEn sind: UTF8, UTFE, UTF16 (Big-Endian).

In BS2ZIP sind die CCSNAMEn in vier Typen eingeteilt: Ein-Byte-EBCDIC (*EBCDIC), Ein-Byte-ASCII (*ASCII), Unicode (*UNICODE) und *UNKNOWN. Nachfolgend die Tabelle mit der Liste der Kodierungen für jeden Typ:

*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
dieser Tabelle nicht
enthalten sind und die XHCS
nicht kennt.

Wenn eine Datei von BS2ZIP zu einem Archiv mit unbekanntem Typ hinzugefügt wurde, kann EXTRACT-FILE nur mit CHARACTER-CONVERSION = *NO verwendet werden, um die Zeichenkonvertierung zu deaktivieren, oder mit CHARACTER-CONVERSION = *BY-PARAMETERS, um die Metadaten der Datei zu ignorieren und die aktuelle und die gewünschte Kodierung der Ausgabedatei anzugeben. Alle anderen Optionen für CHARACTER-CONVERSION führen zu einem Fehler bei der Anweisung EXTRACT-FILE.

CHARACTER-CONVERSION = *BY-CONTAINER-FORMAT
Standardwert. Verhalten, das durch das Öffnungsformat des ZIP-Containers bestimmt wird

Dateien werden nur konvertiert

  • wenn das Archiv im Winzip-kompatiblen Format geöffnet wird
  • wenn die Originaldatei eine SAM/ISAM-Struktur hat
  • wenn bei DATA-TYPE  *NOT-SPECIFIED oder *CHARACTER angegeben ist
  • Datei hat keine Unicode Kodierung
BedingungErgebnis
  • Archiv wurde im BS2000-Format geöffnet
  • Original-Datei ist eine PAM-Datei
  • DATA-TYPE ist mit *BINARY oder *SAM-BINARY angegeben
  • Datei ist Unicode kodiert
Es wird keine Zeichenkonvertierung durchgeführt.

Die Datei besitzt:

  • ein erweitertes Datenfeld
  • eine Datei-Info mit dem Attribut CODED-CHAR-SET
Zeichenkonvertierung von der aktuellen Kodierung in die ursprüngliche Kodierung wird durchgeführt

Die Datei besitzt:

  • eine Datei-Info mit dem Attribut CODED-CHAR-SET
  • das Attribut CODED-CHAR-SET beginnt mit der Zeichenkette "EDF"
  • kein erweitertes Datenfeld
Konvertierung von ISO8859F nach EDF04F

Die Datei besitzt:

  • eine Datei-Info mit dem Attribut CODED-CHAR-SET
  • das Attribut CODED-CHAR-SET beginnt nicht mit der Zeichenkette "EDF"
  • kein erweitertes Datenfeld
Es wird keine Zeichenkonvertierung durchgeführt.
  • Die Datei besitzt keine Datei-Info mit dem Attribut CODED-CHAR-SET
  • Mit WRITE-MODE=*WRITE bzw. *ANY, wobei keine Datei überschrieben wird
  • Die Prüfung der ersten 32kB durch BS2ZIP ergab, dass die Datei in Unicode kodiert ist (UTF-8 oder UTF16) 
Es wird keine Zeichenkonvertierung durchgeführt.
  • Die Datei besitzt keine Datei-Info mit dem Attribut CODED-CHAR-SET
  • Mit WRITE-MODE=*WRITE bzw. *ANY, wobei keine Datei überschrieben wird
  • Die Prüfung der ersten 32kB durch BS2ZIP ergab, dass die Datei nicht in Unicode kodiert ist (ISO8859F oder WCP1252) 
Es wird eine Konvertierung in EBCDIC vorgenommen.
  • Die Datei besitzt keine Datei-Info mit dem Attribut CODED-CHAR-SET
  • Mit WRITE-MODE=*REPLACE-ONLY bzw. *ANY, wobei eine existierende Datei überschrieben wird
  • Das Attribute CODED-CHAR-SET der existierenden Datei ist ein EBCDIC Zeichensatz (z.B. EDF041, EDF042, ...)
Es wird eine Konvertierung von ASCII nach EBCDIC durchgeführt.
  • Die Datei-Info besitzt keine Datei-Info mit dem Attribut CODED-CHAR-SET
  • Mit WRITE-MODE=*REPLACE-ONLY bzw. *ANY, wobei eine existierende Datei überschrieben wird
  • Das Attribute CODED-CHAR-SET der existierenden Datei ist ein Unicode oder ASCII Zeichensatz (z.B. UTF16, UTFE, ISO88591, ...)
Es wird keine Konvertierung durchgeführt.

CHARACTER-CONVERSION = *NO
Es wird keine Konvertierung durchgeführt.

Es wird keine Zeichenkonvertierung durchgeführt. Die Metadaten der Dateien im Archiv wirken sich nur auf das CODED-CHARACTER-SET-Attribut der Ausgabedatei aus. Wenn weder erweiterte Datenfelder noch Datei-Infos mit CODED-CHAR-SET-Attribut vorhanden sind, führt BS2ZIP einen Scan der ersten 32 kB der Daten durch, um die wahrscheinlichste Kodierung aus ISO8859F, WCP1252, UTF8, UTF16 zu bestimmen.

BedingungErgebnis
  • Die Datei im Archiv hat ein erweitertes Datenfeld
Das Attribut CODED-CHARACTER-SET der Ausgabedatei wird auf das CODED-CHAR-SET-Attribut aus der Datei-Info gesetzt.
  • Die Datei im Archiv hat eine Datei-Info mit dem Attribut CODED-CHAR-SET
Das Attribut CODED-CHARACTER-SET der Ausgabedatei wird auf das CODED-CHAR-SET-Attribut aus der Datei-Info gesetzt.
  • Die Datei im Archiv hat keine Datei-Info mit dem Attribut CODED-CHAR-SET
  • WRITE-MODE = *CREATE oder *ANY, wodurch eine vorhandene Datei nicht überschrieben wird
Das Attribut CODED-CHARACTER-SET der Ausgabedatei wird basierend auf dem Scan der ersten 32 kB der Datei im Archiv festgelegt.
Mögliche Werte: ISO8859F, WCP1252, UTF8, UTF16
  • Die Datei im Archiv hat keine Datei-Info mit dem Attribut CODED-CHAR-SET
  • WRITE-MODE = *REPLACE-ONLY oder *ANY, wodurch die vorhandene Datei überschrieben wird
Das CODED-CHARACTER-SET-Attribut der Ausgabedatei bleibt erhalten.

CHARACTER-CONVERSION = *TO-WIN-ANSI

Die WIN-ANSI-Konvertierung wird durchgeführt. Die Ausgabedatei erfolgt immer im ASCII-Format, außer wenn die Datei im Archiv in einer Unicode-Variante gespeichert ist.

BedingungErgebnis
  • Die Original-Datei ist eine PAM-Datei
  • DATA-TYPE ist mit *BINARY oder *SAM-BINARY angegeben
  • Datei ist Unicode kodiert

Es wird keine Zeichenkonvertierung durchgeführt.

Die Datei besitzt:

  • ein erweitertes Datenfeld
  • eine Datei-Info mit dem Attribut CODED-CHAR-SET

Es wird eine Zeichenkonvertierung vom aktuellen Zeichensatz nach ASCII durchgeführt, es sei denn der Zeichensatz liegt bereits in ASCII vor (gemäß erweiterbarem Datenfeld)1.

Die Datei besitzt:

  • eine Datei-Info mit dem Attribut CODED-CHAR-SET
  • das Attribut CODED-CHAR-SET beginnt mit der Zeichenkette "EDF"
  • kein erweitertes Datenfeld

Es wird eine Zeichenkonvertierung von EDF04F nach ISO8859F durchgeführt.

Die Datei besitzt:

  • eine Datei-Info mit dem Attribut CODED-CHAR-SET
  • das Attribut CODED-CHAR-SET beginnt nicht mit der Zeichenkette "EDF"
  • kein erweitertes Datenfeld

Es wird keine Zeichenkonvertierung durchgeführt.

  • Die Datei besitzt keine Datei-Info mit dem Attribut CODED-CHAR-SET
  • Mit WRITE-MODE=*WRITE bzw. *ANY, wobei keine Datei überschrieben wird

Es wird eine Zeichenkonvertierung von EDF04F nach ISO8859F durchgeführt.

  • Die Datei besitzt keine Datei-Info mit dem Attribut CODED-CHAR-SET
  • Mit WRITE-MODE=*REPLACE-ONLY bzw. *ANY, wobei eine existierende Datei überschrieben wird
  • Das Attribute CODED-CHAR-SET der existierenden Datei ist non-Unicode ASCII Zeichensatz (e.g. ISO88591, ISO88592, ...)

Es wird eine Zeichenkonvertierung von EBCDIC nach ASCII durchgeführt1.

  • Die Datei besitzt keine Datei-Info mit dem Attribut CODED-CHAR-SET
  • Mit WRITE-MODE=*REPLACE-ONLY bzw. *ANY, wobei eine existierende Datei überschrieben wird
  • Das Attribute CODED-CHAR-SET der existierenden Datei ist ein Unicode oder EBCDIC-Zeichensatz (z.B. UTF16, UTFE, EDF041,...) 

Es wird keine Zeichenkonvertierung durchgeführt.

1 Siehe Info-Box weiter unten

CHARACTER-CONVERSION = *TO-EBCDIC

Es wird eine EBCDIC-Konvertierung durchgeführt. Die Ausgabedatei erfolgt immer im EBCDIC-Format, außer wenn die Datei in der Unicode-Variante im Archiv vorliegt.

BedingungErgebnis
  • Original-Datei ist eine PAM-Datei
  • DATA-TYPE ist mit *BINARY oder *SAM-BINARY angegeben
  • Datei ist Unicode kodiert
Es wird keine Zeichenkonvertierung durchgeführt.

Die Datei besitzt:

  • ein erweitertes Datenfeld
  • eine Datei-Info mit dem Attribut CODED-CHAR-SET
Es wird eine Zeichenkonvertierung vom aktuellen Zeichensatz nach EBCDIC durchgeführt, es sei denn der Zeichensatz liegt bereits in EBCDIC vor (gemäß erweitertem Datenfeld)1.

Die Datei besitzt:

  • eine Datei-Info mit dem Attribut CODED-CHAR-SET
  • das Attribut CODED-CHAR-SET beginnt mit der Zeichenkette "EDF"
  • kein erweitertes Datenfeld
Conversion from ISO8859F to EDF04F.

Die Datei besitzt:

  • ein Kommentarfeld mit dem Attribut CODED-CHAR-SET
  • das Attribut CODED-CHAR-SET beginnt  nicht  mit der Zeichenkette "EDF"
  • kein erweitertes Datenfeld
Es wird keine Zeichenkonvertierung durchgeführt.
  • Die Datei besitzt keine Datei-Info mit dem Attribut CODED-CHAR-SET
  • Mit WRITE-MODE=*CREATE bzw. *ANY, wobei keine Datei überschrieben wird
Es wird eine Zeichenkonvertierung von ISO8859F nach EDF04F durchgeführt.
  • Die Datei besitzt keine Datei-Info mit dem Attribut CODED-CHAR-SET
  • Mit WRITE-MODE=*REPLACE-ONLY bzw. *ANY, wobei eine existierende Datei überschrieben wird
  • Das Attribute CODED-CHAR-SET der existierenden Datei ist ein nicht-Unicode EBCDIC Zeichensatz (z.B. EDF041, EDF042, ...)
Es wird eine Zeichenkonvertierung von ASCII nach EBCDIC durchgeführt1.
  • Die Datei besitzt keine Datei-Info mit dem Attribut CODED-CHAR-SET
  • Mit WRITE-MODE=*REPLACE-ONLY bzw. *ANY, wobei eine existierende Datei überschrieben wird
  • Das Attribute CODED-CHAR-SET der existierenden Datei ist ein Unicode- oder ASCII-Zeichensatz (z.B. UTF16, UTFE, EDF041,...) 
Es wird keine Zeichenkonvertierung durchgeführt.

1 Siehe Info-Box weiter unten

CHARACTER-CONVERSION = *BY-PARAMETERS(...)

Die Konvertierung erfolgt gemäß den angegebenen Quell- und Zielzeichensätzen.

Dateien werden nur konvertiert

  • wenn die Originaldatei eine SAM/ISAM-Struktur hat
  • wenn DATA-TYPE *NOT-SPECIFIED oder *CHARACTER angegeben ist.

Mit dieser Option können Metadaten (Datei-Info) der Datei im Archiv ignoriert werden, um den Zeichenkonvertierungstyp manuell festzulegen.

Während der Extraktion einer Datei können mit dieser Option folgende Eigenschaften ignoriert werden:

  • CODED-CHAR-SET-Attribut im Kommentarfeld der Datei
  • das erweiterte Datenfeld
  • CODED-CHARACTER-SET-Attribut einer vorhandenen Datei, wenn WRITE-MODE = *REPLACE-ONLY oder *ANY, diese Datei überschreibt.

Dies ist besonders nützlich für Dateien, die von verschiedenen Archivmanagern zum Archiv hinzugefügt wurden und bei fremden Dateien den Scan der ersten 32kB zu überspringen. FROM-CCS und TO-CSS akzeptieren alle verfügbaren CCSNAME-Werte, es sei denn, beide sind keine Unicode-Variante und haben unterschiedliche ISO-Codes. Die Angabe des gleichen Werts für FROM-CSS und TO-CCS führt dazu, dass BS2ZIP die Konvertierung überspringt, allerdings wird dieser CCSNAME dann als CODED-CHARACTER-SET-Attribut der extrahierten Datei gesetzt.

Für TO-CSS kann auch *STD angegeben werden. Wenn FROM-FILE nicht Unicode und ASCII ist, wählt BS2ZIP ein Paar EBCDIC CCSNAME mit demselben ISO-Code aus und konvertiert es. In allen anderen Fällen mit TO-CSS=*STD wird die Konvertierung übersprungen, allerdings übernimmt BS2ZIP den CCSNAME aus FROM-CCS als CODED-CHARACTER-SET-Attribut der extrahierten Datei.

Wenn XHCS einige Zeichen nicht konvertieren konnte, wird eine Warnmeldung ausgegeben und diese Zeichen mit Punkt „.“ (x'4B') gekennzeichnet.


1 Die Metadaten von Dateien können CCS-Namen enthalten, die derzeit nicht im System vorhanden sind. Das erweiterte Datenfeld enthält Informationen zu den ISO-Codes der Kodierung, ob es sich um EBCDIC/ASCII, Unicode oder andere handelt. Diese Informationen werden verwendet, um Kodierungen durch die beste verfügbare Alternative zu ersetzen, die im System definiert ist.

Beispiel: Laut den Metadaten (Datei-Info) einer Datei  ist dessen aktuelle Kodierung WCP1252 (ISO-Code 15), während die ursprüngliche Dateikodierung EDF04F war, wobei WCP1252 jedoch derzeit nicht in XHCS definiert sei. BS2ZIP ruft XHCS auf, um nach verfügbaren CCSNAMES mit ISO-Code 15 zu suchen. Es erkennt, dass ISO8859F verfügbar ist, und konvertiert die Datei während der Dateiextraktion von ISO8859F in EDF04F.


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.

PAD-EMPTY-RECORD = *N O / *YES
Steuert, ob leere Zeilen beim Extrahieren aus einem WinZip-kompatiblen Archiv mit einem Leerzeichen aufgefüllt werden. Das Auffüllen erfolgt nur, wenn der Datentyp *NOT-SPECIFIED oder *CHARACTER ist.

DELIMITER =
Steuert, welches Zeilentrennzeichen die Zeilen in der extrahierten Datei trennt. Diese Einstellung wird ignoriert, es sei denn, DATA-TYPE ist *NOT-SPECIFIED oder *CHARACTER und das Archiv liegt im WinZip-kompatiblen Format vor.

Wenn diese Option auf *STD / *CRLF / *LF / *NL gesetzt ist, basiert die Trennzeichenoption auf der gespeicherten Kodierung der Datei im Archiv und der Option CHARACTER-CONVERSION. Die folgenden Tabelle enthält Trennzeichen für verschiedene Kodierungen:

TrennzeichenEin-Byte ASCII, UTF8EBCDICUTF16
*CRLF 0D0A0D25000D000A
*LF0A25000A
*NL0A15

000A

DELIMITER = *STD
Von BS2ZIP hinzugefügte Dateien, die ein erweiterbares Datenfeld enthalten, verwenden zur Trennung das in diesem Feld angegebene Trennzeichen. Es kann mit SHOW-FILE-ATTRBIUTES INFO=*ALL angezeigt werden. Bei Dateien, die ohne erweiterbares Datenfeld hinzugefügt wurden (durch Dienstprogramme von Drittanbietern oder BS2ZIP älter als V21.0B10), sucht BS2ZIP nach allen bei dieser Kodierung üblichen Trennzeichen. Beispielsweise sucht BS2ZIP bei EBCDIC-Dateien nach 0D25, 25 und 15.

DELIMITER = *CRLF / *LF / *NL
BS2ZIP sucht nach den Trennzeichen, die zur Kodierung der Datei gehören. Wenn die Datei beispielsweise im EBCDIC-Format vorliegt, und DELIMITER=*LF angegeben wurde, sucht BS2ZIP nur nach 25.

DELIMITER = *0D0A / *0A / *0D25 / *25 / *15 / *000D000A / *000A
BS2ZIP ignoriert die Kodierung der Datei und sucht nur nach dem angegebenen Zeilentrennzeichen. 

LOGGING = *MINIMUM / *MAXIMUM
Legt den Umfang der Meldungsausgabe fest.

LOGGING = *MINIMUM
Nur Fehlermeldungen werden ausgegeben

LOGGING =*MAXIMUM
Alle Meldungen werden ausgegeben. Derzeit wird nach jedem Extrahieren einer Datei die (garantierte) Meldung SZP0122 ausgegeben; in Zukunft werden gegebenenfalls weitere Meldungen ausgegeben.

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 2

      MYFILE1

      *BY-SOURCE

      MYFILE1

      :ccid:$cuid.MYFILE1

      *

      *BY-SOURCE

      MYFILE1
      MYFILE2

      :ccid:$cuid.MYFILE1
      :ccid:$cuid.MYFILE2

      MY*

      EXT-*

      MYFILE1
      MYFILE2

      :ccid:$cuid.EXT-FILE1
      :ccid:$cuid.EXT-FILE2

      MYFILE1

      *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

      2Dabei ist $cuid = aktuelle Benutzerkennung und :ccid = Katalogkennung der Benutzerkennung

      Nicht-BS2000-Dateien:

      FILE-NAME

      TO-FILE

      Eingetragener Dateiname

      Resultierender Dateiname 3

      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.TXT

      3Dabei ist $cuid = aktuelle Benutzerkennung und :ccid = Katalogkennung der Benutzerkennung