Die Anweisung DELETE-ELEMENT löscht die angegebenen Elemente in der zugewiesenen Bibliothek (logisches Löschen). Dabei werden die Inhaltsverzeichniseinträge gelöscht und der Speicherplatz freigegeben.
Ein Element einer Bibliothek wird physikalisch gelöscht, wenn
das Element ein Kennzeichen für physikalisches Löschen enthält,
der Operand DESTROY-DATA=*YES gesetzt ist,
die CLASS2-Option DESTLEV es verlangt.
Delta-Elemente werden erst dann physikalisch gelöscht, wenn das letzte Delta-Element eines Delta-Baums, d.h. der komplette Delta-Baum, gelöscht wird.
Die Anweisung wird nur ausgeführt, wenn in der Anweisung explizit eine Bibliothek angegeben wurde oder die bei OPEN-LIBRARY angegebene Bibliothek mit MODE=*UPDATE eröffnet wurde.
Die DELETE-ELEMENT-Anweisung ist für alle Elementtypen erlaubt.
DELETE-ELEMENT | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
ELEMENT = *LIBRARY-ELEMENT(...)
Angaben, welches Element gelöscht werden soll..
LIBRARY = *STD / <filename 1..54 without-vers> / *LINK(...)
Angabe der Bibliothek, aus der das Element gelöscht werden soll.
LIBRARY = *STD
Die durch OPEN-LIBRARY eröffnete Bibliothek.
LIBRARY = <filename 1..54 without-vers>
Name der Bibliothek, aus der das Element gelöscht 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 = *ALL(...) / <composed-name 1..64 with-under with-wild(132)>(...)
Name des Elementes, welches gelöscht werden soll.
VERSION = *HIGHEST-EXISTING / *ALL / *UPPER-LIMIT /
<composed-name 1..24 with-under with-wild(52)>
Version, die das zu löschende Element besitzt.
VERSION = *HIGHEST-EXISTING
Das Element mit der höchsten bestehenden Version bzgl. BASE wird gelöscht.
VERSION = *UPPER-LIMIT
Die in der Bibliothek unter dem angegebenen TYPE und Namen höchstmögliche Version X’FF’ wird gelöscht.
VERSION = <composed-name 1..24 with-under with-wild(52)>
Explizite Angabe der Version des Elementes, das gelöscht 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 / *ALL / <alphanum-name 1..8 with-wild(20)>
Typ, den das zu löschende Element besitzt.
USER-DATE = *ANY /*TODAY / <date 8..10 with-compl> / *INTERVAL(...)
Datum, das vom Benutzer vergeben wurde.
USER-DATE = *ANY
Das zu löschende Element besitzt ein beliebiges Datum.
USER-DATE = *TODAY
Das Element mit dem aktuellen Tagesdatum wird gelöscht.
USER-DATE = <date 8..10 with-compl>
Das Element, dessen Datum explizit in der Form [JJ]JJ-MM-TT eingegeben wird, wird gelöscht.
USER-DATE = *INTERVAL(...)
Alle Elemente, die in dem angegebenen Zeitraum liegen, werden gelöscht.
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 dieses Kommandos.
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 dieses Kommandos.
EXCEPT-ELEMENT = *NONE / *ELEMENT(...)
Angabe der Elemente, die von der oben getroffenen Auswahl ausgeschlossen werden.
EXCEPT-ELEMENT = *NONE
Es wird kein Element vom Löschen ausgeschlossen.
EXCEPT-ELEMENT = *ELEMENT(...)
Angabe der Elemente, die vom Löschen 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 dieses Kommandos.
DESTROY-DATA =*LMS-DEFAULT / *NO / *YES
Löschen der Daten für alle Elemente, die durch *LIBRARY-ELEMENT bestimmt wurden.
DESTROY-DATA = *NO
Ein Element einer Bibliothek wird nur physikalisch gelöscht, wenn im Element ein Kennzeichen für physikalisches Löschen vorhanden ist oder die CLASS2-Option DESTLEV es verlangt.
DESTROY-DATA = *YES
Nach dem logischen Löschen werden die Daten, falls vorhanden, physikalisch gelöscht, d.h. mit X’00’ überschrieben.
DIALOG-CONTROL = *LMS-DEFAULT / *NO / *YES
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, wobei der dort ggf. eingestellte Wert *ERROR wie *NO wirkt. Ebenso wirkt der beim /SEND-MSG-Kommando ggf. angegebene Wert für DIALOG-CONTROL= *ERROR bei DELETE-ELEMENT wie *NO.
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 | LMS0302 | Element nicht vorhanden | |
64 | LMS1003 | Fehler während Mengenverarbeitung (Wildcard) bei mindestens einem Element oder einer Datei | |
64 | LMS1004 | Sonstige Fehler | |
64 | PLA0229 | Kein Zugriffsrecht für das Element | |
64 | PLA0233 | Ausleihstatus verhindert Elementzugriff | |
130 | LMS0041 | Systemadressraum erschöpft | |
130 | LMS0411 | Bibliothek gesperrt | |
130 | LMS0412 | Element gesperrt | |
130 | LMS0413 | Typ gesperrt |
Notwendige Zugriffsrechte
Lese- und Schreibrecht für LIBRARY
Administrationsrecht und Schreibrecht für ELEMENT.
Hinweise
Bei jedem UPDATE auf einen Delta-Baum wird die Delta-Struktur reorganisiert, d.h. nicht mehr benötigte Datensätze werden gelöscht und der nicht mehr benötigte Speicher freigegeben.
Das Löschen einer Hauptzweigversion unter der Konvention STD-TREE, von der Nebenzweigversionen abhängen, kann bei späteren Kopiervorgängen zu Problemen führen.
Beispiel
Aus der Bibliothek LIB1 wird das Element TEST3 gelöscht.
/START-LMS //OPEN-LIBRARY LIBL,MODE=*UPDATE //SHOW-ELEMENT-ATTRIBUTES TYP NAME VER (VAR#) DATE NAME VER (VAR#) DATE (D) LETTER.A @ (0001) 2012-04-12 TESTELEM @ (0001) 2012-04-12 2 (D)-ELEMENT(S) IN THIS TABLE OF CONTENTS TYP NAME VER (VAR#) DATE (S) TEST3 @ (0001) 2012-04-12 1 (S)-ELEMENT(S) IN THIS TABLE OF CONTENTS -------------------------------------------------------------------------- 3 ELEMENT(S) IN THIS TABLE OF CONTENTS //DELETE-ELEMENT *LIB(ELEM=TEST§,TYPE=S) //SHOW-ELEMENT-ATTRIBUTES INPUT LIBRARY= :1OSQ:$USER.LIB1 TYP NAME VER (VAR#) DATE NAME VER (VAR#) DATE (D) LETTER.A @ (0001) 2012-04-12 TESTELEM @ (0001) 2012-04-12 2 (D)-ELEMENT(S) IN THIS TABLE OF CONTENTS //END