Die COPY-LIBRARY-Anweisung kopiert eine Bibliothek komplett mit allen Bibliotheks-, Typ- und Elementattributen. Die Zielbibliothek darf nicht existieren oder muss FILE-STRUCTURE=NONE haben. Die Zielbibliothek erhält das Bibliotheksformat entsprechend deren Wert für BUFFER-LENGTH. Die Anweisung ist damit zum Konvertieren des Bibliotheksformats geeignet.
Die Dateischutzattribute der Quellbibliothek können auf die Zielbibliothek übernommen werden. Die Anweisung ist damit zum Reorganisieren von Bibliotheken geeignet. Die Zielbibliothek ist logisch mit dem Original identisch und belegt nur noch den minimal notwendigen Plattenplatz.
Tritt während der COPY-LIBRARY-Verarbeitung ein Fehler auf (z.B. unzureichender Plattenplatz), ist die Zielbibliothek nicht vollständig.
Format
COPY-LIBRARY | ||||||||||||||||||||||||||||
|
Operanden
LIBRARY = <filename 1..54 without-vers> / *LINK(...)
Angabe der Bibliothek, die kopiert werden soll.
LIBRARY = <filename 1..54 without-vers>
Die Bibliothek mit dem hier angegebenen Namen wird kopiert.
LIBRARY = *LINK(...)
Die über den Dateikettungsnamen zugewiesene Bibliothek wird kopiert.
LINK-NAME = <structured-name 1..8>
Dateikettungsname der Bibliothek, der mit /ADD-FILE-LINK vereinbart wurde.
TO-LIBRARY = <filename 1..54 without-vers> / *LINK(...)
Angabe der Ziel-Bibliothek.
TO-LIBRARY = <filename 1..54 without-vers>
Die Bibliothek mit dem hier angegebenen Namen wird erstellt.
TO-LIBRARY = *LINK(...)
Die über den Dateikettungsnamen zugewiesene Bibliothek wird erstellt.
LINK-NAME = <structured-name 1..8>
Dateikettungsname der Bibliothek, der mit /ADD-FILE-LINK vereinbart wurde.
FILE-ATTRIBUTES = *STD / *BY-SOURCE
Attribute der Ziel-Bibliotheksdatei.
FILE-ATTRIBUTES = *STD
Die Dateiattribute der Zielbibliothek werden nicht verändert. Neue Dateien werden mit den vom Dateiverwaltungssystem festgelegten Default-Werten erzeugt.
FILE-ATTRIBUTES = *BY-SOURCE
Die Dateischutzattribute der Quellbibliothek werden auf die Zielbibliothek übernommen (analog /COPY-FILE ..,PROTECTION=*SAME).
Beispiele
Kopieren einer Bibliothek auf einen NK4-Pubset
/start-lmsconv //copy-library library=lib,to-library=:nk4:lib //end
Vorab erstellen des NK4-Bibliothekformates
/add-file-link file-name=nk4lib,link-name=nk4,buffer-length=*std(2) /start-lmsconv //copy-library library=nk2lib,to-library=*link(nk4) //end
Reorganisation einer Bibliothek mit Zwischenspeicher
/delete-file file-name=tolib /start-lmsconv //copy-library library=lib,to-library=tolib,file-attributes=*by-source //end /copy-file from-file=tolib,to-file=lib /delete-file file-name=tolib