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-ELEMENT - Element kopieren

COPY-ELEMENT kopiert Elemente und Bibliotheken im Verhältnis eins zu eins. Die kopierten Elemente können neue Elementbezeichnungen erhalten.

Es gibt folgende Kopiermöglichkeiten:

  • Kopieren von einem oder mehreren Elementen in die gleiche Bibliothek

  • Kopieren von einem oder mehreren Elementen in eine andere Bibliothek

  • Kopieren einer kompletten Bibliothek

Kopieren mit WRITE-MODE=*SUBSTITUTE

Mit WRITE-MODE=*SUBSTITUTE kann erreicht werden, dass das kopierte Element in der Zielbibliothek das einzige Element mit gleichem Typ und Namen ist. LMSCONV löscht vor dem Kopieren in der Zielbibliothek alle Elemente mit dem Typ und dem Namen des Zielelementes.

Einschränkungen
  • Eingabe- und Ausgabebibliothek müssen unterschiedlich sein.

  • Tritt während des Löschens ein Fehler auf, so wird die Anweisung abgebrochen.

 

Format

COPY-ELEMENT                                                                                                                                           

ELEMENT = *LIBRARY-ELEMENT (...)


*LIBRARY-ELEMENT(...)



|

LIBRARY = *STD / <filename 1..54 without-vers> / *LINK(...)



|


*LINK(...)



|



|

LINK-NAME = <structured-name 1..8>



|

,ELEMENT = *ALL(...) / <composed-name 1..64 with-under with-wild(132)>(...)



|


*ALL(...)



|



|

VERSION = *HIGHEST-EXISTING / *ALL / *UPPER-LIMIT /



|



|


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



|


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



|



|

VERSION = *HIGHEST-EXISTING / *ALL / *UPPER-LIMIT /



|



|


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



|

,TYPE = *DEFAULT / *ALL / <alphanum-name 1..8 with-wild(20)>



|

,USER-DATE = *ANY / *TODAY / <date 8..10 with-compl> / *INTERVAL(...)



|


*INTERVAL(...)



|



|

FROM = 1900-01-01 / <date 8..10 with-compl>



|



|

,TO = *TODAY / <date 8..10 with-compl>



|

,CREATION-DATE = *ANY / *TODAY / <date 8..10 with-compl> / *INTERVAL(...)



|


*INTERVAL(...)



|



|

FROM = 1900-01-01 / <date 8..10 with-compl>



|



|

,TO = *TODAY / <date 8..10 with-compl>



|

,MODIFICATION-DATE = *ANY / *TODAY / <date 8..10 with-compl> / *INTERVAL(...)



|


*INTERVAL(...)



|



|

FROM = 1900-01-01 / <date 8..10 with-compl>



|



|

,TO = *TODAY / <date 8..10 with-compl>

 

,TO-ELEMENT = *LIBRARY-ELEMENT (...)


*LIBRARY-ELEMENT(...)



|

LIBRARY = *STD / *BY-SOURCE / <filename 1..54 without-vers> / *LINK(...)



|


*LINK(...)



|



|

LINK-NAME = <structured-name 1..8>



|

,ELEMENT = *BY-SOURCE (...) / <composed-name 1..132 with-under with-wildcard-constr>(...)



|


*BY-SOURCE(...)



|



|

VERSION = *DEFAULT / *BY-SOURCE / *UPPER-LIMIT /



|



|


<composed-name 1..52 with-under with-wildcard-constr>



|


<composed-name 1..132 with-under with-wildcard-constr>(...)



|



|

VERSION = *DEFAULT / *BY-SOURCE / *UPPER-LIMIT /



|



|


<composed-name 1..52 with-under with-wildcard-constr>



|

,TYPE = *BY-SOURCE / *DEFAULT / <alphanum-name 1..20 with-wildcard-constr>



|

,USER-DATE = *BY-SOURCE / *TODAY / <date 8..10 with-compl>

,WRITE-MODE = *DEFAULT / *CREATE / *REPLACE / *EXTEND / *SUBSTITUTE / *ANY

,DIALOG-CONTROL = *DEFAULT / *NO / *YES / *ERROR

Operanden

ELEMENT = *LIBRARY-ELEMENT(...)
Angaben für die gewünschte Elementbezeichnung.

LIBRARY = *STD / <filename 1..54 without-vers> / *LINK(...)
Angabe der Bibliothek, in der sich die zu kopierenden Elemente befinden.

LIBRARY = *STD
Die durch OPEN-LIBRARY eröffnete Bibliothek.

LIBRARY = <filename 1..54 without-vers>
Name der Bibliothek, aus der die Elemente kopiert werden sollen.

LIBRARY = *LINK(...)
Die über den Dateikettungsnamen zugewiesene Bibliothek.

LINK-NAME = <structured-name 1..8>
Dateikettungsname der Bibliothek.

ELEMENT = *ALL (...) / <composed-name 1..64 with-under with-wild(132)>(...)
Name des Elementes, welches kopiert werden soll.

VERSION = *HIGHEST-EXISTING / *ALL / *UPPER-LIMIT /<composed-name 1..24 with-under with-wild(52)>
Version, die das zu kopierende Element besitzt.

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

VERSION = *UPPER-LIMIT
Die in der Bibliothek unter dem angegebenen TYPE und Namen höchstmögliche Version X'FF' wird kopiert.

VERSION = <composed-name 1..24 with-under with-wild(52)>
Der hier angegebene Text wird als Versionsbezeichnung interpretiert.

TYPE = *DEFAULT / *ALL / <alphanum-name 1..8 with-wild(20)>
Typ, den das zu kopierende Element besitzt. Ist der Wert *DEFAULT und der mit MODIFY-DEFAULTS aktuell eingestellte Wert gleich *NONE, so verlangt LMSCONV die Angabe eines Typs.

USER-DATE = *ANY / *TODAY / <date 8..10 with-compl> / *INTERVAL(...)
Datum, das vom Benutzer vergeben wurde.

USER-DATE = *ANY
Das zu kopierende Element besitzt ein beliebiges Datum.

USER-DATE = *TODAY
Das Element mit dem aktuellen Tagesdatum wird kopiert.

USER-DATE = <date 8..10 with-compl>
Das Element, dessen Datum explizit in der Form [JJ]JJ-MM-TT eingegeben wird, wird kopiert.

USER-DATE = *INTERVAL(...)
Alle Elemente, die in dem angegebenen Zeitraum liegen, werden kopiert.

FROM = 1900-01-01 / <date 8..10 with-compl>
Beginn des Zeitraums.

TO = *TODAY / <date 8..10 with-compl>
Ende des Zeitraums.

CREATION-DATE = *ANY / *TODAY / <date 8..10 with-compl> / *INTERVAL(...)
Erzeugungsdatum des Elementes. Beschreibung der Operandenwerte siehe Operand USER-DATE dieser Anweisung.

MODIFICATION-DATE = *ANY / *TODAY / <date 8..10 with-compl> / *INTERVAL(...)
Datum der letzten Änderung für das Element. Beschreibung der Operandenwerte siehe Operand USER-DATE dieser Anweisung.

TO-ELEMENT = *LIBRARY-ELEMENT(...)
Angabe, wohin und unter welchem Namen das Element kopiert werden soll.

LIBRARY = *STD / *BY-SOURCE / <filename 1..54 without-vers> / *LINK(...)
Angabe der Bibliothek, in die das Element kopiert werden soll.

LIBRARY = *STD
Die durch OPEN-LIBRARY eröffnete Bibliothek.

LIBRARY = *BY-SOURCE
Das Element wird in die Bibliothek kopiert, in der sich auch das zu kopierende Element befindet.

LIBRARY = <filename 1..54 without-vers>
Name der Bibliothek, in die die Datei als Element kopiert werden soll. Existiert die Bibliothek noch nicht, wird sie neu eingerichtet.

LIBRARY = *LINK(...)
Die über den Dateikettungsnamen zugewiesene Bibliothek.

LINK-NAME = <structured-name 1..8>
Dateikettungsname der Bibliothek.

ELEMENT = *BY-SOURCE(...) /<composed-name 1..132 with-under with-wildcard-constr>(...)
Name, den das Zielelement erhalten soll.

ELEMENT = *BY-SOURCE(...)
Das Zielelement erhält den Namen des Quellelementes.

VERSION = *DEFAULT / *BY-SOURCE / *UPPER-LIMIT /<composed-name 1..52 with-under with-wildcard-constr>
Version, die das Zielelement erhalten soll.

VERSION = *DEFAULT
Der Standardwert ist *BY-SOURCE oder der mit MODIFY-DEFAULTS aktuell eingestellte Wert.

VERSION = *BY-SOURCE
Das Zielelement erhält die Version des Quellelementes.

VERSION = *UPPER-LIMIT
Die höchstmögliche Version X'FF' wird erzeugt.

VERSION = <composed-name 1..52 with-under with-wildcard-constr>
Das Zielelement erhält die hier angegebene Version.

ELEMENT = <composed-name 1..132 with-under with-wildcard-constr>(...)
Name des übertragenen Elementes. Er kann auch mit Wildcards eingegeben werden.

VERSION = *DEFAULT / *BY-SOURCE / *UPPER-LIMIT /<composed-name 1..52 with-under with-wildcard-constr>
Version, die das Zielelement erhalten soll.
Beschreibung der Operanden siehe oben.

TYPE = *BY-SOURCE / *DEFAULT / <alphanum-name 1..20 with-wildcard-constr>
Typ, den das neu aufzunehmende Element erhalten soll.

TYPE = *BY-SOURCE
Das Zielelement erhält die gleiche Typbezeichnung wie das Quellelement.

TYPE = *DEFAULT
Ist der Wert *DEFAULT und der mit MODIFY-DEFAULTS aktuell eingestellte Wert gleich *NONE, so verlangt LMSCONV die Angabe eines Typs.

USER-DATE = *BY-SOURCE / *TODAY / <date 8..10 with-compl>
Datum, das vom Benutzer vergeben wird.

USER-DATE = *BY-SOURCE
Das neue Element erhält das gleiche Datum wie das ursprüngliche Element.

USER-DATE = *TODAY
Das aktuelle Tagesdatum wird vergeben.

USER-DATE = <date 8..10 with-compl>
Das Datum muss in der Form [JJ]JJ-MM-TT eingegeben werden.

WRITE-MODE = *DEFAULT / *CREATE / *REPLACE / *EXTEND / *SUBSTITUTE / *ANY
Überschreiben eines Elementes gleichen Namens. Existiert das Element nicht unter diesem Namen, wird es neu angelegt.

WRITE-MODE = *DEFAULT
Der Standardwert ist *CREATE (s.u.) oder der mit MODIFY-DEFAULTS aktuell eingestellte Wert.

WRITE-MODE = *CREATE
Das Zielelement darf noch nicht existieren und wird neu erzeugt.

WRITE-MODE = *REPLACE
Das Zielelement muss bereits existieren und wird dann ersetzt.

WRITE-MODE = *EXTEND
Das Zielelement wird erweitert, wenn es bereits existiert. Ansonsten wird es neu angelegt.

WRITE-MODE = *SUBSTITUTE
Alle Elemente mit Typ und Namen des Zielelementes werden in der Zielbibliothek gelöscht. Danach wird das Quellelement kopiert.

WRITE-MODE = *ANY
Das Zielelement wird ersetzt, wenn es bereits existiert. Ansonsten wird es neu angelegt.

DIALOG-CONTROL = *DEFAULT / *NO / *YES / *ERROR
Dieser Operand legt fest, ob während der Ausführung einer Anweisung ein Dialog mit dem Benutzer geführt werden soll oder nicht.

Nähere Erläuterungen zur Dialogführung unter MODIFY-DEFAULTS.

DIALOG-CONTROL = *DEFAULT
Der Standardwert ist *NO oder der mit MODIFY-DEFAULTS aktuell eingestellte Wert.

DIALOG-CONTROL = *NO
Alle Elemente werden ohne Nachfrage, d.h. ohne Eingreifmöglichkeit des Benutzers, bearbeitet.
Ausnahme: Ist ein Element oder eine Bibliothek gesperrt, fragt LMSCONV nach, ob der Zugriffsversuch wiederholt werden soll.

Beispiele

In der Eingabebibliothek X ist unter Typ S das Element A/1 enthalten. In der Ausgabebibliothek Y ist unter Typ S das Element A/2 enthalten. Dann ist nach


//COPY-ELEM

ELEMENT= *LIB(LIB=X,ELEM=A,TYPE=S),-
TO-ELEMENT= *LIB(LIB=Y), WRITE-MODE=*SUBSTITUTE

in der Ausgabebibliothek unter Typ S und Namen A nur das Element A/1 vorhanden. Das Element A/2 wurde gelöscht.


In der Eingabebibliothek X befinden sich alle Elemente einer Produktversion. Diese Elemente sollen in eine existierende Ausgabebibliothek Y so kopiert werden, dass Y nach dem Kopieren nur die kopierte Produktversion enthält und sonst keine andere Version. Das erreicht man mit


//COPY-ELEM

ELEMENT= *LIB(LIB=X,ELEM=*,TYPE=*),-
TO-ELEMENT= *LIB(LIB=Y), WRITE-MODE=*SUBSTITUTE


Kopieren einer kompletten Bibliothek

Die Bibliothek lib1 wird komplett kopiert und erhält den Namen lib2. Durch die Angabe von '*' bei Element, Version und Typ ist keine Kenntnis über die enthaltenen Elemente erforderlich, d.h. alle Elemente werden im Verhältnis eins zu eins in die Bibliothek lib2 kopiert.


//COPY-ELEM

ELEMENT= *LIB(LIB=lib1,ELEM=*,VERSION=*,TYPE=*),-
TO-ELEMENT= *LIB(LIB=lib2)