Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

COPY-POSIX-FILE

&pagelevel(3)&pagelevel

Datei von bzw. nach POSIX kopieren

Komponente:

POSIX-BC

Funktionsbereich:

Dateiverarbeitung
POSIX verwalten und benutzen

Anwendungsbereich:

FILE                                                                                                       

Privilegierung:

alle Privilegien

Funktionsbeschreibung

Das Kommando COPY-POSIX-FILE bietet innerhalb des BS2000 die Funktionalität des POSIX-Kommandos bs2cp:

  • Kopieren von Dateien aus dem POSIX-Dateisystem in BS2000-Dateien bzw. Elemente einer PLAM-Bibliothek

  • Kopieren von BS2000-Dateien bzw. Elementen einer PLAM-Bibliothek in das POSIX-Dateisystem (Bibliothekselemente werden nur in einfache Dateien kopiert)

Der Dateizugriff auf BS2000-Dateien über RFA (Remote File Access) wird nicht unterstützt. Für verschlüsselte BS2000-Dateien muss das Crypto-Kennwort in der Crypto-Kennwort-Tabelle eingetragen sein (siehe Kommando ADD-CRYPTO-PASSWORD).

Hinweise zur Kommandoausführung

Die Angaben des Kommandos COPY-POSIX-FILE generieren ein bs2cp-Kommando mit den entsprechenden Parametern (bei Angabe einer Liste von Dateinamen eine entsprechende Anzahl bs2cp-Kommandos), das in einer POSIX-Shell (siehe Kommando START-POSIX-SHELL) aufgerufen wird. Der Aufrufer muss deshalb ein HOME-Verzeichnis in POSIX besitzen. Die Einstellungen aus der .profile im HOME-Verzeichnis (z.B Wechsel des aktuellen Dateiverzeichnisses und Werte der Umgebungsvariablen IO_CONVERSION und BS2CPTABS) wirken sich auf den Kopiervorgang aus.

Vor Aufruf des bs2cp-Kommandos werden ggf. zwei weitere POSIX-Kommandos abgesetzt:

  • Die Behandlung von Text- bzw. Binärdateien beim Kopieren (Operand RECORD-CONVERSION) wird über ein ftyp-Kommando gesteuert.

  • Optional werden beim Kopieren von POSIX nach BS2000 die Dateiattribute der Ziel-Dateien über ein bs2file-Kommando gesteuert (Operand FILE-ATTRIBUTES).

Das POSIX-Kommando bs2cp ist im Handbuch „POSIX Ergänzungsband“ [28], die Kommandos bs2file und ftyp sind im Handbuch „POSIX Kommandos“ [29] beschrieben.

Die Funktionsweise des Kommandos COPY-POSIX-FILE ist ausführlich im Handbuch „POSIX Grundlagen“ [28] beschrieben. 

Format

COPY-POSIX-FILE

Kurzname: CPXF / BS2CP

 COPY-DIRECTION = *FROM-POSIX / *TO-POSIX

,POSIX-FILE = *BY-SOURCE(...) / list-poss(2000): <posix-pathname 1..1023>


*BY-SOURCE(...)



|

POSIX-DIRECTORY = . / <posix-pathname 1..1023 without-wild>



|

,PREFIX = *NONE / <c-string 0..80 with-low>



|

,SUFFIX = *NONE / <c-string 0..80 with-low>

,BS2000-FILE = *BY-SOURCE(...) / *LIBRARY-ELEMENT(...) / list-poss(2000): <filename 1..54 with-wild(80)>


*BY-SOURCE(...)



|

PREFIX = *NONE / <c-string 0..53>



|

,SUFFIX = *NONE / <c-string 0..40>


*LIBRARY-ELEMENT(...)



|

LIBRARY = <filename 1..54>



|

,ELEMENT = *BY-SOURCE(...) / list-poss(2000): <composed-name 1..64 with-under-wild>(...)



|


*BY-SOURCE(...)



|



|

VERSION = *HIGHEST-EXISTING / *UPPER-LIMIT / <composed-name 1..24 with-under>



|



|

,PREFIX = *NONE / <c-string 0..63>



|



|

,SUFFIX = *NONE / <c-string 0..63>



|


<composed-name 1..64 with-under-wild>(...)



|



|

VERSION = *HIGHEST-EXISTING / *UPPER-LIMIT / <composed-name 1..24 with-under>



|

,TYPE = *S / *D / *J / *M / *P / *X / *L

,WRITE-MODE = *BY-DIALOG / *REPLACE / *CREATE

,CHARACTER-CONVERSION = *NO / *YES(...)


*YES(...)



|

TABLE = *STD / <posix-pathname 1..1023 without-wild>

,OUTPUT = *NONE / *SYSOUT

,RECORD-CONVERSION = *TEXT(...) / *BINARY


*TEXT(...)



|

SUBSTITUTE-TABULATOR = *YES / *NO

,FILE-ATTRIBUTES = *STD / *PARAMETER(...)


*PARAMETER(...)



|

FILE-NAME = *ALL / <filename 1..54>



|

,ATTRIBUTES = *STD / <c-string 0..1000>

Operandenbeschreibung

COPY-DIRECTION =
Bestimmt die Richtung des Kopiervorgangs.

COPY-DIRECTION = *FROM-POSIX
POSIX-Dateien werden ins BS2000 kopiert.

COPY-DIRECTION = *TO-POSIX
BS2000-Dateien oder PLAM-Elemente werden nach POSIX kopiert.

POSIX-FILE = *BY-SOURCE / list-poss(2000): <posix-pathname 1..1023>
Angabe der POSIX-Dateien, die beim Kopieren benutzt werden.

POSIX-FILE = *BY-SOURCE(...)
Diese Angabe ist nur möglich bei Kopierrichtung *TO-POSIX:
Die Namen der POSIX-Dateien sollen aus den BS2000-Namen abgeleitet werden. Sollen mehrere BS2000-Dateien nach POSIX kopiert werden, muss dieser Operandenwert angegeben werden.

POSIX-DIRECTORY =
Verzeichnis, in das die BS2000-Dateien bzw. PLAM-Elemente kopiert werden.

POSIX-DIRECTORY = .
Die Dateien werden in das aktuell eingestellte Verzeichnis kopiert.
Dies ist standardmäßig das Home-Verzeichnis des aufrufenden BS2000-Benutzers. Ein anderes aktuelles Verzeichnis lässt sich durch einen Verzeichnis-Wechsel in der Datei .profile einstellen (mit dem POSIX-Kommando cd).

POSIX-DIRECTORY = <posix-pathname 1..1023 without-wild>
Die Dateien werden in das explizit angegebene Verzeichnis kopiert.

PREFIX = *NONE / <c-string 0..80 with-low>
Präfix, der dem POSIX-Dateinamen vorangestellt werden soll. Voreingestellt ist *NONE, d.h. es wird kein Präfix benutzt.

SUFFIX = *NONE / <c-string 0..80 with-low>
Suffix, der dem POSIX-Dateinamen angehängt werden soll. Voreingestellt ist *NONE, d.h. es wird kein Suffix benutzt.

POSIX-FILE = list-poss(2000): <posix-pathname 1..1023>
Die Namen der POSIX-Dateien werden explizit angegeben. Folgendes ist zu beachten:

  • Bei Kopierrichtung *FROM-POSIX:
    Einer oder mehrere absolute oder relative Pfadnamen von POSIX-Dateien. Die POSIX-Wildcard-Syntax (Shell-Sonderzeichen für Dateinamensersatz) wird unterstützt.

  • Bei Kopierrichtung *TO-POSIX:
    Wenn nur eine BS2000-Datei kopiert und der Name der Zieldatei explizit vereinbart werden soll, ist der absolute oder relative Pfadname einer POSIX-Datei anzugeben. Wildcard-Syntax ist nicht erlaubt.

Relative Pfadnamen beziehen sich standardmäßig auf das Home-Verzeichnis des aufrufenden BS2000-Benutzers. Ein anderes Verzeichnis lässt sich durch einen Verzeichnis-Wechsel (cd) in der Datei .profile einstellen.

BS2000-FILE = *BY-SOURCE(...) / *LIBRARY-ELEMENT(...) / list-poss(2000): <filename 1..54 with-wild(80)>
Angabe der BS2000-Dateien oder PLAM-Elemente, die beim Kopieren benutzt werden.

BS2000-FILE = *BY-SOURCE(...)
Diese Angabe ist nur möglich bei Kopierrichtung *FROM-POSIX:
Die Namen der BS2000-Dateien sollen aus den POSIX-Namen abgeleitet werden. Sollen mehrere POSIX-Dateien nach BS2000 kopiert werden, muss dieser Operandenwert angegeben werden.

PREFIX = *NONE / <c-string 0..53 with-low>
Präfix, der dem BS2000-Dateinamen vorangestellt werden soll. Voreingestellt ist *NONE, d.h. es wird kein Präfix benutzt.

SUFFIX = *NONE / <c-string 0..40 with-low>
Suffix, der dem BS2000-Dateinamen angehängt werden soll. Voreingestellt ist *NONE, d.h. es wird kein Suffix benutzt.

BS2000-FILE = *LIBRARY-ELEMENT(...)
Es werden Elemente einer PLAM-Bibliothek beim Kopieren benutzt.

LIBRARY = <filename 1..54>
Name der PLAM-Bibliothek.

ELEMENT =
Angabe der PLAM-Elemente, die beim Kopieren benutzt werden.

ELEMENT = *BY-SOURCE(...)
Diese Angabe ist nur möglich bei Kopierrichtung *FROM-POSIX:

Der Elementname soll jeweils aus dem POSIX-Namen abgeleitet werden. Sollen mehrere POSIX-Dateien nach BS2000 in eine PLAM-Bibliothek kopiert werden, muss dieser Operandenwert angegeben werden.

VERSION =
Angabe, welche Version eines Elements benutzt wird.

VERSION = *HIGHEST-EXISTING
Das Ziel-Element mit der höchsten Version wird benutzt. Folgendes ist zu beachten:

    • Ein neu anzulegendes Element erhält die Version 001.

    • Bei bereits existierenden Elementen wird das Element mit der höchsten Version überschrieben.

VERSION = *UPPER-LIMIT
Das Ziel-Element soll die höchstmöglichste Version erhalten (X’FF’, entspricht der Tilde im POSIX-Kommando bs2cp).

VERSION = <composed-name 1..24 with-under>
Die Version wird explizit angegeben.

PREFIX = *NONE / <c-string 0..63 with-low>
Präfix, der dem Elementnamen vorangestellt werden soll. Voreingestellt ist *NONE, d.h. es wird kein Präfix benutzt.

SUFFIX = *NONE / <c-string 0..63 with-low>
Suffix, der dem Elementnamen angehängt werden soll. Voreingestellt ist *NONE, d.h. es wird kein Suffix benutzt.

ELEMENT = list-poss(2000): <composed-name 1..64 with-under-wild>(...)
Die Namen der Elemente werden explizit angegeben. Folgendes ist zu beachten:

      • Bei Kopierrichtung *TO-POSIX:
        Angabe eines oder mehrerer Elementnamen. Die LMS-Wildcard-Syntax („*“, „<„, „:“, „>“) wird unterstützt.
        Im Gegensatz zu dem POSIX-Kommando bs2cp kann hier auch eine Liste von Elementnamen angegeben werden. In diesem Fall wird das POSIX-Kommando bs2cp pro Elementname (mit/ohne Wildcard) aufgerufen. Die Angaben zu den restlichen Operanden gelten dann für sämtliche bs2cp-Aufrufe.

      • Bei Kopierrichtung *FROM-POSIX:
        Explizite Angabe eines Elementnamens (Wildcards sind hier nicht erlaubt), wenn nur eine POSIX-Datei kopiert wird und der Name des Ziel-Elements explizit vereinbart werden soll.

VERSION =
Angabe, welche Version eines Elements benutzt wird.

VERSION = *HIGHEST-EXISTING
Das Element mit der höchsten Version wird benutzt.

VERSION = *UPPER-LIMIT
Das kopierte Element soll die höchstmöglichste Version erhalten (X’FF’).

VERSION = <composed-name 1..24 with-under>
Die Version wird explizit angegeben.

TYPE = *S / *D / *J / *M / *P / *X / *L
Typ-Angabe der zu behandelnden PLAM-Elemente. Standardmäßig wird der Typ S (Source) genommen.

BS2000-FILE = list-poss(2000): <filename 1..54 with-wild(80)>
Die Namen der BS2000-Dateien werden explizit angegeben. Folgendes ist zu beachten:

  • Bei Kopierrichtung *TO-POSIX:
    Angabe eines oder mehrerer Dateinamen. Die BS2000-Wildcard-Syntax wird eingeschränkt unterstützt (nur das Musterzeichen „*“) .
    Im Gegensatz zu dem POSIX-Kommando bs2cp kann hier auch eine Liste von BS2000-Dateinamen angegeben werden. In diesem Fall wird das POSIX-Kommando bs2cp pro Dateiname (mit/ohne Wildcard) aufgerufen. Die Angaben zu den restlichen Operanden gelten dann für sämtliche bs2cp-Aufrufe.

  • Bei Kopierrichtung *FROM-POSIX:
    Explizite Angabe eines Dateinamens (Wildcards sind hier nicht erlaubt), wenn nur eine POSIX-Datei kopiert wird und der Name der Zieldatei explizit vereinbart werden soll.

WRITE-MODE = 
Die Angabe ist nur relevant bei der Kopierrichtung *FROM-POSIX. 
Gibt an, ob im BS2000 bereits existierende Ziel-Dateien bzw. Elemente überschrieben werden (analog zur Option -f des POSIX-Kommandos bs2cp).

WRITE-MODE = *BY-DIALOG
Im Dialog abgefragt, ob eine bereits existierende Datei überschrieben werden soll:

bs2cp: overwrite A ? y (yes), n (no), a (all) oder q (quit)

WRITE-MODE = *REPLACE
Bereits existierende Dateien bzw. Elemente werden ohne Rückfrage überschrieben.

WRITE-MODE = *CREATE
Ziel-Dateien bzw. Elemente, die noch nicht existieren, werden neu angelegt. Bereits existierende Ziel-Dateien bzw. Elemente werden nicht überschrieben.

CHARACTER-CONVERSION =
Gibt an, ob beim Kopiervorgang eine Zeichenkonvertierung durchgeführt werden soll (analog zu den Optionen -k oder -t des POSIX-Kommandos bs2cp).

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

CHARACTER-CONVERSION = *YES(...)
Es wird eine Zeichenkonvertierung durchgeführt.

TABLE =
Angabe der Konvertierungstabelle.

TABLE = *STD
Es werden POSIX-interne Standard-Tabellen benutzt (analog zur Option -k des POSIX-Kommandos bs2cp).

TABLE = <posix-pathname 1..1023 without-wild>
Die Konvertierungstabelle wird explizit angegeben (analog zur Option -t des POSIX-Kommandos bs2cp).


Hinweis

Die Versorgung der Shell-Variable BS2CPTABS (siehe bs2cp) wird nicht über diese Angabe gesteuert. Bei Bedarf kann die Variable in der Datei .profile entsprechend gesetzt werden.

OUTPUT =
Gibt an, ob die erweiterte Protokollierung des bs2cp-Kommandos ausgegeben werden soll (analog zur Option -l des POSIX-Kommandos bs2cp).

OUTPUT = *NONE
Die erweiterte Protokollierung wird nicht ausgegeben.

OUTPUT = *SYSOUT
Die erweiterte Protokollierung wird auf SYSOUT ausgegeben.

RECORD-CONVERSION =
Gibt an, wie der Inhalt von BS2000-Dateien beim Kopieren behandelt werden soll.
Diese Angabe generiert ein POSIX-Kommandos ftyp mit entsprechenden Parametern. Ohne explizite Angabe eines Operandenwertes (entspricht der Voreinstellung RECORD-CONVERSION=*TEXT(SUBSTITUTE-TABULATOR=*YES)) ist ftyp text voreingestellt.

RECORD-CONVERSION = *TEXT(...)
SAM-Dateien bzw. PLAM-Bibliothekselemente werden als Text-Dateien behandelt. „newline“ in der POSIX-Datei wird zu Satzwechsel in der BS2000-Datei (bzw. umgekehrt, je nach Kopierrichtung).

SUBSTITUTE-TABULATOR =
Bestimmt die Behandlung von Tabulatorzeichen.

SUBSTITUTE-TABULATOR = *YES
Tabulatorzeichen werden entsprechend aufgefüllt (ftyp text).

SUBSTITUTE-TABULATOR = *NO
Tabulatorzeichen bleiben erhalten (ftyp textbin).

RECORD-CONVERSION = *BINARY
SAM-Dateien bzw. PLAM-Bibliothekselemente werden als Binär-Dateien behandelt.

FILE-ATTRIBUTES =
Die Angabe ist nur relevant bei der Kopierrichtung *FROM-POSIX.
Beim Kopieren von POSIX-Dateien ins BS2000 (nicht für PLAM-Elemente) können die Dateiattribute der Ziel-Dateien im BS2000 analog zum POSIX-Kommando bs2file angegeben werden. Je nach Parameter-Angabe wird dann in der Shell vor dem eigentlichen bs2cp-Kommando ein bs2file-Kommando abgesetzt.

FILE-ATTRIBUTES = *STD
Es wird kein bs2file-Kommando abgesetzt:
Noch nicht existierende Dateien erhalten die Standard-Dateiattribute (Zugriffsmethode
SAM, variables Satzformat und Standardblockung). Bereits existierende Dateien behalten ihre Dateieigenschaften bei. Existiert für eine Datei nur der Katalogeintrag (es ist noch kein OPEN erfolgt), wird sie mit der Zugriffsmethode ISAM bearbeitet.

FILE-ATTRIBUTES = *PARAMETER(...)
Beim Kopieren wird ein bs2file-Kommando abgesetzt. Die Dateiattribute werden analog zum POSIX-Kommando bs2file angegeben.

FILE-NAME =
Gibt an, für welche Datei die angegebenen Attribute gesetzt werden.

FILE-NAME = *ALL
Die angegebenen Attribute sollen für die erste zu kopierende Datei mit beliebigem Namen gelten (entspricht der Angabe „*“ im POSIX-Kommando bs2file).

FILE-NAME = <filename 1..54>
Die angegebenen Attribute sollen für die erste zu kopierende Datei mit genau diesem Namen gelten.

ATTRIBUTES =
Bestimmt die Dateiattribute.

ATTRIBUTES = *STD
Es werden Standard-Dateiattribute verwendet.

ATTRIBUTES = <c-string 1..1000>
Explizite Angabe der Dateiattribute.
Die unterstützten Dateiattribute sind beim POSIX-Kommando bs2cp beschrieben (siehe Handbuch „POSIX Grundlagen“ [28]). Das Eingabeformat der Dateiattribute (Operanden und mögliche Werte) ist beim FILE-Makro beschrieben (siehe Handbuch „DVS Makros“ [12]).

Beispiel: ATTRIBUTES='FCBTYPE=SAM,RECFORM=F,BLKSIZE=80'

Kommando-Returncode

(SC2)

SC1

Maincode

Bedeutung


0

CMD0001

Ohne Fehler


64

POS6010

Ungültige Kombination der Angaben BS2000-FILE=*BY-SOURCE und COPY-DIRECTION=*TO-POSIX


64

POS6011

Ungültige Kombination der Angaben BS2000-FILE=*LIBRARY-ELEMENT(...,ELEMENT=*BY-SOURCE,...) und COPY-DIRECTION=*TO-POSIX


64

POS6012

Ungültige Kombination der Angaben POSIX-FILE=*BY-SOURCE und COPY-DIRECTION=*FROM-POSIX


64

POS6013

Mehrere BS2000-Dateien als Ziel angegeben.


64

POS6014

Mehrere PLAM-Bibliothekselemente als Ziel angegeben.


64

POS6015

Mehrere POSIX-Dateien als Ziel angegeben.


64

POS6016

Mehrere BS2000-Dateien oder PLAM-Bibliothekselemente als Quelle und eine POSIX-Datei als Ziel angegeben; diese ist aber kein Dateiverzeichnis.


64

POS6017

Mehrere POSIX-Dateien als Quelle angegeben, aber nicht BS2000-FILE=*BY-SOURCE angegeben.


64

POS6018

Es ist nicht die erforderliche Version von SDF bzw. SDF-P-BASYS installiert.


64

POS6019

Fehler beim Starten der POSIX-Shell.


64

POS6020

Fehler beim Ausführen des POSIX-Kommandos bs2cp.


64

POS6021

Ungültige Angabe von FILE-ATTRIBUTES.


64

POS6022

Fehler beim Ausführen des POSIX-Kommandos bs2file.


64

POS6023

Fehlerhafte Angabe von Wildcards.


64

POS6024

Ungültige Angaben im Operanden ATTRIBUTES.