Mit COPY kann ein Element kopiert werden.
Mit ED1 wird das Quellelement, mit LD1 die Quellbibliothek,
mit ED2 das Zielelement und mit LD2 die Zielbibliothek angegeben.
LD1 und LD2 dürfen dieselbe Bibliothek bezeichnen. Typ, Name und Version des Zielelementes müssen vollständig angegeben werden.
Es sind vier Subcodeangaben möglich: UNUSE, INCP, HIGP und INCB
Bei Subcodeangaben ungleich UNUSE wird die Versionsangabe besonders behandelt (siehe "ED Element Description").
Zusätzlich kann der Benutzer in die Felder USER-DATE bzw. USER-TIME des ED2 ein Datum bzw. eine Uhrzeit eintragen. Soll das Datum und die Uhrzeit des Eingabeelementes übernommen werden, müssen die Felder mit Leerzeichen besetzt sein.
Die Parameter OVERWRITE, DESTROY und PROT-IND werden ausgewertet.
Wird OVERWRITE=EXTEND angegeben, muss gelten:
In den Elementen dürfen keine ISAM-Schlüssel vorhanden sein.
Enthalten Ein- und Ausgabeelement Dateiattribute (Satzart 164), müssen diese übereinstimmen.
Enthält nur eines der Elemente Dateiattribute, ist RECORD-FORMAT=FIXED nicht erlaubt.
Der CCS-Name des Quellelementes muss mit dem des Zielelementes übereinstimmen.
Überschreiben des Zielnamensraums (OVERWRITE=NAME)
Mit OVERWRITE=NAME kann erreicht werden, dass das kopierte Element in der Zielbibliothek das einzige Element mit gleichem Typ und Namen ist. LMS löscht vor dem Kopieren in der Zielbibliothek alle Elemente mit dem Typ und dem Namen des Zielelements. D.h. alle Benutzerangaben für das Zielelement (wie z.B. INCP) wirken erst auf den leeren Zielnamensraum. Bei INCP wird z.B. immer die Defaultversion erzeugt.
Einschränkungen
Eingabe- und Ausgabebibliothek müssen unterschiedlich sein.
Tritt während des Löschens des Zielnamensraums ein Fehler auf (z.B. Element schreibgeschützt), so wird die COPY-Funktion abgebrochen.
Das Feld ED2.STORE-FORM bestimmt die Speicherungsform für das anzulegende Element. Die Speicherungsform darf den Einstellungen der Typattribute bzw. Bibliotheksattribute nicht widersprechen, und alle Elemente eines Typs und Namens müssen die gleiche Speicherungsform haben. Delta-Elemente können nur dann überschrieben werden, wenn sie Blätter eines Delta-Baumes sind.
STORE-FORM=FULL
Das Element wird vollgespeichert angelegt (Fehler, falls nicht zulässig).
STORE-FORM=STD
Das Element wird gemäß der für den Elementscope geforderten Speicherungsform angelegt. Widersprüchliche Anforderungen führen auf Fehler. Ist nichts besonderes gefordert, wird Vollspeicherung gewählt.
Ist die geforderte Speicherungsform DELTA, wird bei Subcode UNUSE die Basis als Standardbasis bestimmt. Bei allen anderen Subcodes wird die Basis durch die Angabe in ED2.VERSION bestimmt.
STORE-FORM=DELTA
Das Element wird delta-gespeichert angelegt (Fehler, falls nicht zulässig). Die Angabe ist zulässig für die Elementtypen S, P, D, J, M, X bzw. davon abgeleitete Elementtypen.Bei Subcode UNUSE muss zusätzlich die Beschreibung ED3 angegeben werden, die das Basiselement bezeichnet. Bei Verwendung des Versionsautomatismus wird die ED3 ignoriert, die Basisversion muss dann in der ED2 angegeben werden.
Behandlung von Delta-Elementen - ohne Versionsautomatismus:
Soll das Element als Delta-Element aufgenommen werden, muss gelten:
ED2.STORE-FORM=DELTA, ED2.TYP=ED3.TYP, ED2.NAME=ED3.NAME
Soll das Element als erstes Element eines Delta-Baumes aufgenommen werden, darf ein Element dieses Typs und Namens noch nicht existieren und es muss zusätzlich gelten:
ED2.VERSION=ED3.VERSION
Soll das Element als weiteres Element eines Delta-Baumes aufgenommen werden, muss mit ED3 das bereits existierende Basiselement angegeben werden und es muss gelten:
ED2.VERSION != ED3.VERSION
Delta-Elemente können nur dann überschrieben werden, wenn sie Blätter eines Deltabaumes sind.
Aufrufparameter
Die Parameterstrukturen müssen beim UP-Aufruf in dieser Reihenfolge stehen.
Parameterstruktur | Feld | Bedeutung |
CB | SCBVERSION FUNCTION SUBCODE ACC DESTROY OVERWRITE PROT-IND LD-RETURN | Funktionskontrollblock Schnittstellenversion Funktionscode X'0A' Versionsautomatismus UP-Zugriffsidentifikation physikalisches Überschreiben logisches Überschreiben Elementschutz (STD oder SAME) vollständiger DMS-Dateiname in LD |
LD1 | PASSWORD LINK MAX-NAME-LEN NAME | Bibliothek-Beschreibung (Quellbibliothek) Kennwort lt. PASSWORD-Kommando Dateikettungsname Maximale Länge des Bibliotheksnamen Bibliotheksname |
ED1 | TYP NAME VERSION | Element-Beschreibung (Quellelement) Elementtyp Elementname Elementversion |
LD2 | PASSWORD LINK MAX-NAME-LEN NAME | Bibliothek-Beschreibung (Zielbibliothek) Kennwort lt. PASSWORD-Kommando Dateikettungsname Maximale Länge des Bibliotheksnamen Bibliotheksname |
ED2 | TYP NAME VERSION STORE-FORM USER-DATE USER-TIME | Element-Beschreibung (Zielelement) Elementtyp Elementname Elementversion Speicherungsform vom Benutzer vergebenes Datum vom Benutzer vergebene Uhrzeit |
ED3 | TYP NAME VERSION | Element-Beschreibung (Basiselement) falls ED2.STORE-FORM = DELTA und Subcode=Blank Elementtyp Elementname Elementversion |
Rückkehrparameter
Parameterstruktur | Feld | Bedeutung |
CB | RETURNCODE LMS-MSG DMS-MSG PLAM-MSG | Funktionskontrollblock Returncode LMS-Meldungsschlüssel DMS-Meldungsschlüssel PLAM-Meldungsschlüssel |
LD1 | NAME | Bibliothek-Beschreibung (Quellbibliothek) vollständiger DMS-Dateiname der Bibliothek (abhängig vom |
ED1 | VERSION | Element-Beschreibung (Quellelement) Elementversion (falls Aufruf mit *HIGH) |
LD2 | NAME | Bibliothek-Beschreibung (Zielbibliothek) vollständiger DMS-Dateiname der Bibliothek (abhängig vom |
ED2 | VERSION | Element-Beschreibung (Zielelement) Elementversion (falls Aufruf mit *HIGH oder bei Versionsautomatismus) |