PROVIDE-ELEMENT reserviert Elemente einer Quellbibliothek und stellt Kopien dieser Elemente in einer Ausgabebibliothek zur Verfügung. Die Quellbibliothek ist explizit zu benennen. Bei aktivem WRITE-CONTROL sind die reservierten Elemente vor anderweitiger Weiterentwicklung geschützt. Bei zusätzlich eingestellter Konvention ist der gesamte Versionsraum über der angegebenen Version für den Holder reserviert.
Der Basistyp für Quell- und Zielelement darf unterschiedlich sein, wenn Textelemente reserviert werden.
PROVIDE-ELEMENT | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
ELEMENT = *LIBRARY-ELEMENT(...)
Angaben für die gewünschte Elementbezeichnung.
LIBRARY =<filename 1..54 without-vers> / *LINK(...)
Angabe der Bibliothek, in der sich die bereitzustellenden Elemente befinden.
LIBRARY = <filename 1..54 without-vers>
Name der Bibliothek
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)>(...)
Namen der Elemente, die bereitgestellt werden sollen.
VERSION = *HIGHEST-EXISTING / *UPPER-LIMIT /
<composed-name 1..24 with-under>
Version der bereitzustellenden Elemente.
VERSION = *HIGHEST-EXISTING
Das Element mit der höchsten bestehenden Version bzgl. BASE wird bereitgestellt.
VERSION = *UPPER-LIMIT
Die in der Bibliothek unter dem angegebenen TYPE und Namen höchstmögliche Version X’FF’ wird bereitgestellt.
VERSION = <composed-name 1..24 with-under>
Der hier angegebene Text wird als Versionsbezeichnung interpretiert.
BASE = *STD / <composed-name 1..24 with-under with-wild>
Präfix für die Versionsauswahl. Im Zusammenhang mit VERSION=*HIGHEST-EXISTING kann damit die höchste Version mit einem bestimmten Präfix angesprochen werden. BASE=*STD wirkt wie BASE=*.
TYPE = *LMS-DEFAULT / *ALL / <alphanum-name 1..8 with-wild(20)>
Typ der bereitzustellenden Elemente.
USER-DATE = *ANY / *TODAY / <date 8..10 with-compl> / *INTERVAL(...)
Datum, das vom Benutzer vergeben wurde.
USER-DATE = *ANY
Es werden Elemente unabhängig von diesem Datum bereitgestellt.
USER-DATE = *TODAY
Nur Elemente mit dem aktuellen Tagesdatum werden bereitgestellt.
USER-DATE = <date 8..10 with-compl>
Nur Elemente mit dem angegebenen Datum werden bereitgestellt.
USER-DATE = *INTERVAL(...)
Nur Elemente mit einem in dem angegebenen Zeitraum liegenden Datum werden bereitgestellt.
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 Operanden 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 Operanden siehe Operand USER-DATE dieser Anweisung.
EXCEPT-ELEMENT = *NONE / *ELEMENT(...)
Angabe der Elemente, die von der oben getroffenen Auswahl ausgeschlossen werden.
EXCEPT-ELEMENT = *NONE
Es wird kein Element ausgeschlossen.
EXCEPT-ELEMENT = *ELEMENT(...)
Angabe der Elemente, die ausgeschlossen werden sollen. Ein Element wird ausgeschlossen, wenn alle Felder der EXCEPT-ELEMENT-Struktur, die nicht auf *ANY gesetzt sind, das Element als Treffer ausweisen. Sind alle Felder der EXCEPT-ELEMENT-Struktur auf *ANY gesetzt, so werden alle Elemente ausgeschlossen.
Zur Beschreibung der Operanden siehe Operand *LIBRARY-ELEMENT dieser Anweisung.
TO-ELEMENT = *LIBRARY-ELEMENT(...)
Angabe, wo und unter welchem Namen das Element bereitgestellt werden soll.
LIBRARY = *STD / <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 = <filename 1..54 without-vers>
Name der Bibliothek, in die das 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 = *LMS-DEFAULT / *BY-SOURCE / *HIGHEST-EXISTING /
*INCREMENT / *UPPER-LIMIT / <composed-name 1..24 with-under>
Version, den das Zielelement erhalten soll.
VERSION = *BY-SOURCE
Das Zielelement erhält die gleiche Version wie das Quellelement.
VERSION = *HIGHEST-EXISTING
Abhängig von der unter dem Typ geltenden Konvention wird unter existierenden Elementen gleichen Typs und Namens die höchste zu BASE passende Version überschrieben, ansonsten wird eine Defaultversion erzeugt.
VERSION = *INCREMENT
Abhängig von der unter dem Typ geltenden Konvention wird unter existierenden Elementen gleichen Typs und Namens eine neue, höhere Version, ansonsten eine Defaultversion erzeugt.
VERSION = *UPPER-LIMIT
Die höchstmögliche Version X’FF’ wird erzeugt.
VERSION = <composed-name 1..24 with-under>
Das Zielelement erhält die hier angegebene Version.
BASE = *STD / <composed-name 1..24 with-under with-wild>
Legt die Basis für das Zielelement fest.
ELEMENT = <composed-name 1..132 with-under with-wild-constr>(...)
Name, den das Zielelement erhalten soll. Er kann auch mit Wildcards eingegeben werden.
VERSION = *LMS-DEFAULT / *BY-SOURCE / *HIGHEST-EXISTING /
*INCREMENT / *UPPER-LIMIT / <composed-name 1..24 with-under>
Version, die das Zielelement erhalten soll. Beschreibung der Operanden siehe oben.
BASE = *STD / <composed-name 1..24 with-under with-wild>
Legt die Basis für das Zielelement fest.
TYPE = *BY-SOURCE / *LMS-DEFAULT / <alphanum-name 1..20 with-wild-constr>
Typ, den das bereitgestellte Element erhalten soll.
TYPE = *BY-SOURCE
Das Zielelement erhält die gleiche Typbezeichnung wie das Quellelement.
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.
STORAGE-FORM = *LMS-DEFAULT / *STD / *FULL / *DELTA
Speicherform für das anzulegende Element. Die Speicherform darf den Einstellungen durch MODIFY-TYPE-ATTRIBUTES bzw. MODIFY-LIBRARY-ATTRIBUTES nicht widersprechen und alle Elemente eines Typs und Namens müssen die gleiche Speicherform haben.
STORAGE-FORM = *STD
Das Element wird gemäß der für den Elementscope geforderten Speicherform angelegt. Widersprüchliche Anforderungen führen auf Fehler. Ist nichts besonderes gefordert wird Vollspeicherung gewählt.
STORAGE-FORM = *FULL
Das Element wird vollgespeichert angelegt (Fehler falls nicht zulässig).
STORAGE-FORM = *DELTA
Das Element wird deltagespeichert 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.
WRITE-MODE = *LMS-DEFAULT / *CREATE / *REPLACE / *ANY
Steuerung des Überschreibverhaltens.
WRITE-MODE = *CREATE
Das Zielelement darf noch nicht existieren, es wird neu erzeugt.
WRITE-MODE = *REPLACE
Das Zielelement muss bereits existieren und wird dann ersetzt.
WRITE-MODE = *ANY
Existiert das Zielelement wird dieses ersetzt, ansonsten wird das Zielelement neu erzeugt.
DIALOG-CONTROL = *LMS-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-LMS-DEFAULTS.
Anweisungs-Returncode
(SC2) | SC1 | Maincode | Bedeutung |
0 | CMD0001 | Ohne Fehler | |
2 | 0 | LMS0129 | Anweisung abgebrochen durch Benutzer |
1 | CMD0230 | Syntaxfehler | |
32 | LMS1002 | Interner Fehler | |
64 | LMS0020 | Ziel-Element oder Ziel-Datei nicht vorhanden | |
64 | LMS0213 | Name existiert als Delta-Element | |
64 | LMS0214 | Name existiert als Voll-Element | |
64 | LMS0302 | Element nicht gefunden | |
64 | LMS0509 | Ziel-Element oder Ziel-Datei schon vorhanden | |
64 | LMS0510 | Basis nicht gefunden | |
64 | LMS1003 | Fehler während Mengenverarbeitung (Wildcard) bei mindestens einem Element oder einer Datei | |
64 | LMS1004 | Sonstige Fehler | |
64 | PLA0223 | Nur Blätter eines Delta-Baumes überschreibbar | |
64 | PLA0224 | Speicherform nicht erlaubt | |
64 | PLA0229 | Kein Zugriffsrecht für das Element | |
64 | PLA0233 | Ausleihstatus verhindert Elementzugriff | |
64 | PLA0475 | Funktion verletzt Versionsautomatismus | |
64 | PLA0476 | Version passt nicht zur geltenden Konvention | |
64 | PLA0478 | Versionsüberlauf bei Erhöhung | |
130 | LMS0041 | Systemadressraum erschöpft | |
130 | LMS0411 | Bibliothek gesperrt | |
130 | LMS0412 | Element gesperrt | |
130 | LMS0413 | Typ gesperrt |
Notwendige Zugriffsrechte
Bei ELEMENT: | Leserecht für LIBRARY Lese- und Ausleihrecht für ELEMENT |
Bei TO-ELEMENT: | Lese- und Schreibrecht für LIBRARY |
Administrationsrecht, sofern die angegebene Elementbezeichnung neu ist. Ansonsten nur Schreibrecht für das unter der angegebenen Elementbezeichnung existierende Element (kein Administrationsrecht mehr erforderlich).
Bei Deltaspeicherung muss für das durch BASE bestimmte Element Leserecht gegeben sein. Bei aktivem WRITE-CONTROL muss die USERID des Benutzers bei dem durch BASE bestimmten Element als HOLDER eingetragen sein, sofern eine Basisversion existiert. Es kann nur eine neue Version erzeugt oder diese Basisversion überschrieben werden, sofern Schreibrecht gegeben ist. Administrationsrecht ist in diesem Falle nicht mehr erforderlich.
Hinweise
Beim Anlegen eines Elements ist die unter dem Typ geltende Konvention zu beachten. Insbesondere dann, wenn der Zieltyp die Konvention STD-TREE hat, können Probleme auftreten, wenn auf der Quellseite Nebenzweigversionen existieren, deren zugehörige Hauptzweigversion gelöscht ist. In diesem Fall können die betreffenden Nebenzweige nicht kopiert werden; es erfolgt eine Fehlermeldung von LMS.
Bei aktivem WRITE-CONTROL in der Ausgabebibliothek wird dem zu schreibenden Element von der Zugriffsmethode ein Kommentarsatz (Satzart 2) zugefügt, der HOLDER, DATE und TIME des Vorganges protokolliert. Der Satz wird als erster Satz der Satzart geschrieben. Bereits vorhandene Kommentarsätze werden dahinter kopiert. Wird das Element überdies zur Basis einer anderen Version geschrieben (also nicht erste Version unter einem Namen), so werden die Elementattribute STATE, HOLDER und alle Rechte von der Basisversion auf die neue Version übernommen. Die CCSN wird von dem Quellelement übernommen. Das USER-DATE wird neu bestimmt.
Der Benutzer wird als HOLDER des Quellelementes eingetragen. Das Quellelement befindet sich im Status 'IN-HOLD'. PROVIDE-ELEMENT ist damit für dieses Element solange nicht mehr möglich, bis es sich wieder im Status FREE befindet. Dies kann durch RETURN-ELEMENT oder MODIFY-ELEMENT-ATTRIBUTES erfolgen.