Die Anweisung MODIFY-ELEMENT leitet die Modifikation von Elementen ein. Die Änderungen selber werden über MODIFY-ELEMENT-Subanweisungen gesteuert (siehe "MODIFY-ELEMENT-Subanweisungen für Textelemente").
Durch MODIFY-ELEMENT werden die Elemente ausgewählt, die geändert werden sollen. Der Basistyp für Quell- und Zielelement darf unterschiedlich sein, wenn Textelemente modifiziert werden.
Wurde die MODIFY-ELEMENT-Anweisung abgeschickt, erwartet LMS als nächste Anweisung eine Subanweisung. Wird statt einer Subanweisung eine andere Anweisung eingegeben, wird eine Fehlermeldung ausgegeben.
MODIFY-ELEMENT | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
ELEMENT = *LIBRARY-ELEMENT(...)
Angaben für die gewünschte Elementbezeichnung.
LIBRARY = *STD/ <filename 1..54 without-vers> / *LINK(...)
Angabe der Bibliothek, in der sich das zu ändernde Element befindet.
LIBRARY = *STD
Die durch OPEN-LIBRARY eröffnete Bibliothek.
LIBRARY = <filename 1..54 without-vers>
Name der Bibliothek, in der sich das zu ändernde Element befindet.
LIBRARY = *LINK(..)
Die über den Dateikettungsnamen zugewiesene Bibliothek.
LINK-NAME = <structured-name 1..8>
Dateikettungsname der Bibliothek, der vor dem Aufruf von LMS mit einem /ADD-FILE-LINK-Kommando vereinbart wurde.
ELEMENT = *ALL(...) / <composed-name 1..64 with-under with-wild(132)>(...)
Angabe des zu ändernden Elements.
VERSION = *HIGHEST-EXISTING / *ALL / *UPPER-LIMIT /
<composed-name 1..24 with-under with-wild(52)>
Version, die das zu ändernde Element besitzt.
VERSION = *HIGHEST-EXISTING
Das Element mit der höchsten bestehenden Version bzgl. BASE wird geändert.
VERSION = *UPPER-LIMIT
Die in der Bibliothek unter dem angegebenen TYPE und Namen höchstmögliche Version X’FF’ wird geändert.
VERSION = <composed-name 1..24 with-under with-wild(52)>
Explizite Angabe der Version des Elements, das geändert werden soll.
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=*. Näheres zur Angabe der Basis siehe "Versionsbezeichnungen".
TYPE = *LMS-DEFAULT / <alphanum 1..8>
Typ, den das zu ändernde Element besitzt.
USER-DATE = *ANY / *TODAY / <date 8..10 with-compl> / *INTERVAL(...)
Datum, das vom Benutzer vergeben wurde.
USER-DATE = *ANY
Das zu ändernde Element besitzt ein beliebiges Datum.
USER-DATE = *TODAY
Das Element mit dem aktuellen Tagesdatum wird geändert.
USER-DATE = <date 8..10 with-compl>
Das Element, dessen Datum explizit in der Form [JJ]JJ-MM-TT eingegeben wird, wird geändert.
USER-DATE = *INTERVAL(...)
Alle Elemente, die in dem angegebenen Zeitraum liegen, werden geändert.
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 Elements. 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 vom Korrigieren ausgeschlossen.
EXCEPT-ELEMENT = *ELEMENT(...)
Angabe der Elemente, die vom Ändern ausgeschlossen sind. 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, wohin und unter welchem Namen das korrigierte Element zurückgeschrieben werden soll.
LIBRARY = *STD / *BY-SOURCE / <filename 1..54 without-vers> / *LINK(...)
Angabe der Bibliothek, in die das korrigierte Element zurückgeschrieben werden soll.
LIBRARY = *STD
Die durch OPEN-LIBRARY eröffnete Bibliothek.
LIBRARY = *BY-SOURCE
Das korrigierte Element wird in die ursprüngliche Bibliothek zurückgeschrieben.
LIBRARY = <filename 1..54 without-vers>
Name der Bibliothek, in die das korrigierte Element aufgenommen werden soll.
LIBRARY = *LINK(...)
Die über den Dateikettungsnamen zugewiesene Bibliothek.
LINK-NAME = <structured-name 1..8>
Dateikettungsname der Bibliothek, der vor dem Aufruf von LMS mit einem /ADD-FILE-LINK-Kommando vereinbart wurde.
ELEMENT = *BY-SOURCE(...) /
<composed-name 1..132 with-under with-wild-constr>(...)
Name, den das korrigierte Element erhalten soll.
ELEMENT = *BY-SOURCE(...)
Der neue Name entspricht dem alten Namen.
VERSION = *LMS-DEFAULT / *BY-SOURCE / *HIGHEST-EXISTING /
*INCREMENT / *UPPER-LIMIT /
<composed-name 1..52 with-under with-wild-constr>
Version, die das korrigierte Element erhalten soll.
VERSION = *BY-SOURCE
Das korrigierte Element erhält die gleiche Version wie das ursprüngliche Element. Hat das ursprüngliche Element keine Versionsangabe, erhält das korrigierte Element X’FF’ als Versionsangabe.
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 erzeugt, ansonsten eine Defaultversion
VERSION = *UPPER-LIMIT
Die höchstmögliche Version X’FF’ wird erzeugt.
VERSION = <composed-name 1..52 with-under with-wild-constr>
Der hier angegebene Text wird als Versionsbezeichnung interpretiert.
BASE = *STD / <composed-name 1..24 with-under with-wild>
Legt die Basis für das Zielelement fest. Näheres zur Angabe der Basis siehe "Versionsbezeichnungen".
ELEMENT = <composed-name 1..132 with-under with-wild-constr>(...)
Name des korrigierten Elements. Er kann auch mit Wildcards eingegeben werden.
VERSION = *LMS-DEFAULT / *BY-SOURCE / *HIGHEST-EXISTING /
*INCREMENT / *UPPER-LIMIT /
<composed-name 1..52 with-under with-wild-constr>
Version, die das korrigierte Element 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. Näheres zur Angabe der Basis siehe "Versionsbezeichnungen".
TYPE = *BY-SOURCE /*LMS-DEFAULT / <alphanum-name 1..8>
Typ, den das korrigierte Element erhalten soll.
TYPE = *BY-SOURCE
Das korrigierte Element erhält die gleiche Typbezeichnung wie das ursprüngliche Element.
USER-DATE = *TODAY / *BY-SOURCE / <date 8..10 with-compl>
Datum, das vom Benutzer vergeben wird.
USER-DATE = *TODAY
Das aktuelle Tagesdatum wird vergeben.
USER-DATE = *BY-SOURCE
Das neue Element erhält das gleiche Datum wie das ursprüngliche Element.
USER-DATE = <date 8..10 with-compl>
Das Datum muss in der Form [JJ]JJ-MM-TT eingegeben werden.
TEXT-PARAMETERS = *NONE / *PARAMETERS(...)
Legt Parameter für Textelemente fest.
TEXT-PARAMETERS = *NONE
Es werden keine Parameter für Textelemente festgelegt.
TEXT-PARAMETERS = *PARAMETERS(...)
Es werden Parameter für Textelemente festgelegt.
INPUT-RECORD-ID = *NONE / *RECORD-PART(...)
Legt den Bereich der Satzkennung (siehe Subanweisungen für Textelemente auf "MODIFY-ELEMENT-Subanweisungen für Textelemente") im Eingabesatz fest.
INPUT-RECORD-ID = *NONE
Es wird keine Satzkennung im Eingabesatz festgelegt.
INPUT-RECORD-ID = *RECORD-PART(...)
Beginn und Länge des Satzkennungsbereichs werden festgelegt.
Es muss gelten: Beginn + Länge ≤ 252
START = <integer 1..251>
Beginn des Satzkennungsbereichs durch Angabe des ersten Zeichens im Satz.
LENGTH = <integer 1..16>
Länge der Satzkennung
WRITE-MODE = *LMS-DEFAULT / *CREATE / *REPLACE / *ANY
Überschreiben eines Elementes gleichen Namens. Existiert das Element nicht unter diesem Namen, wird es neu angelegt.
Ist Quellelement = Zielelement so wird der Operand WRITE-MODE ignoriert.
WRITE-MODE = *CREATE
Der Name des korrigierten Elements darf noch nicht existieren und wird neu erzeugt.
WRITE-MODE = *REPLACE
Das korrigierte Element muss bereits existieren und wird dann ersetzt.
WRITE-MODE = *ANY
Das korrigierte Element wird ersetzt, wenn es bereits existiert. Ansonsten wird es neu angelegt.
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 (siehe "MODIFY-LMS-DEFAULTS Ändern der globalen Default-Werte").
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 und ELEMENT
Sind von der Anweisung mehrere Elemente betroffen, so werden Elemente ohne Leserecht von der Anweisung ausgeschlossen.
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 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 Elementes ist die unter dem Typ geltende Konvention zu beachten.
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 oder durch INFORMATION=*COMMENT editierte 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.