Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

MODIFY-TYPE-ATTRIBUTES Typattribute ändern

&pagelevel(4)&pagelevel

Mit dieser Anweisung können für den angegebenen Typ bestimmte Attribute eingestellt/geändert werden:

  • der Supertyp

  • die geltende Versionskonvention

  • die Speicherungform der Elemente

  • Zusatzprüfungen beim Erzeugen oder Überschreiben von Elementen

  • der Berechtigtenkreis zum Erzeugen, Löschen und Umbenennen von Elementen und

  • der initiale Elementschutz

Zu Beginn des LMS-Laufs gelten die unmittelbar auf *UNCHANGED folgenden Werte. Die Standardwerte bzw. die aktuellen Werte können mit der entsprechenden SHOW-Anweisung ausgegeben werden.

MODIFY-TYPE-ATTRIBUTES

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


*LINK(...)



|

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

,TYPE = *LMS-DEF AULT / <alphanum-name 1..8>

,SUPER-TYPE = *UNCHA NGED / *NONE / <alphanum-name 1..8>

,CONVENTION = *UNCHA NGED / *NONE / *STD-TREE / *STD-SEQUENCE(...) / *MULTI-SEQUENCE(...)


*STD-SEQUENCE(...)



|

EXAMPLE = 001 / <composed-name 1..24 with-under>


*MULTI-SEQUENCE(...)



|

EXAMPLE = <composed-name 1..24 with-under>

,STORAGE-FORM = *UNCHA NGED / *NONE / *STD / *FULL / *DELTA

,WRITE-CONTROL = *UNCHA NGED / *NONE / *DEACTIVATE / *ACTIVATE

,ADMINISTRATION = *UNCHA NGED / *NONE / *BY-GUARD(...) / *PARAMETERS(...)


*BY-GUARD(...)



|

GUARD-NAME = <filename 1..18 without-cat-gen-vers>


*PARAMETERS(...)



|

USER = *UNCHA NGED / *NONE / *ALL / list-poss(3): *OWNER / *GROUP / *OTHERS



|

,PASSWORD = *UNCHA NGED / *SECRET / *NONE / <c-string 1..4> /



|


<x-string 1..8> / <integer -2147483648..2147483647>

,INIT-ELEM-PROTECTION = *UNCHA NGED / *NONE / *PARAMETERS(...)


*PARAMETERS(...)



|

READ = *UNCHA NGED / *NONE / *BY-GUARD(...) / *PARAMETERS(...)



|


*BY-GUARD(...)



|



|

GUARD-NAME = <filename 1..18 without-cat-gen-vers>



|


*PARAMETERS(...)



|



|

USER = *UNCHA NGED / *NONE / *ALL / list-poss(3): *OWNER / *GROUP / *OTHERS



|



|

,PASSWORD = *UNCHA NGED / *SECRET / *NONE / <c-string 1..4> /



|



|


<x-string 1..8> / <integer -2147483648..2147483647>



|

,WRITE = *UNCHA NGED / *NONE / *BY-GUARD(...) / *PARAMETERS(...)



|


*BY-GUARD(...)



|



|

GUARD-NAME = <filename 1..18 without-cat-gen-vers>



|


*PARAMETERS(...)



|



|

USER = *UNCHA NGED / *NONE / *ALL / list-poss(3): *OWNER / *GROUP / *OTHERS



|



|

,PASSWORD = *UNCHA NGED / *SECRET / *NONE / <c-string 1..4> /



|



|


<x-string 1..8> / <integer -2147483648..2147483647>



|

,EXEC = *UNCHA NGED / *NONE / *BY-GUARD(...) / *PARAMETERS(...)



|


*BY-GUARD(...)



|



|

GUARD-NAME = <filename 1..18 without-cat-gen-vers>



|


*PARAMETERS(...)



|



|

USER = *UNCHA NGED / *NONE / *ALL / list-poss(3): *OWNER / *GROUP / *OTHERS



|



|

,PASSWORD = *UNCHA NGED / *SECRET / *NONE / <c-string 1..4> /



|



|


<x-string 1..8> / <integer -2147483648..2147483647>



|

,HOLD = *UNCHA NGED / *NONE / *BY-GUARD(...) / *PARAMETERS(...)



|


*BY-GUARD(...)



|



|

GUARD-NAME = <filename 1..18 without-cat-gen-vers>



|


*PARAMETERS(...)



|



|

USER = *UNCHA NGED / *NONE / *ALL / list-poss(3): *OWNER / *GROUP / *OTHERS



|



|

,PASSWORD = *UNCHA NGED / *SECRET / *NONE / <c-string 1..4> /



|



|


<x-string 1..8> / <integer -2147483648..2147483647>

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

Angabe der Bibliothek, in der die Typattribute festgelegt werden sollen.

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

LIBRARY = <filename 1..54 without-vers>
Name der Bibliothek, in der die Typattribute festgelegt werden sollen.

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.

TYPE = *LMS-DEFAULT / <alphanum-name 1..8>
Elementtyp, dessen Attribute eingestellt oder geändert werden sollen.

SUPER-TYPE = *UNCHANGED / *NONE / <alphanum-name 1..8>
Name des übergeordneten Typs

SUPER-TYPE = *NONE
Es gibt keinen übergeordneten Typ.

SUPER-TYPE = <alphanum-name 1..8>
Name des übergeordneten Typs. Der entstehende Graph muss zyklenfrei (Baum) sein. Für Standardtypen (ein Zeichen lang bzw. Typen, die mit $ oder SYS beginnen) kann kein SUPER-TYPE vereinbart werden. Die Werte R, C und L sind nicht als SUPER-TYPE erlaubt.

CONVENTION = *UNCHANGED / *NONE / *STD-TREE / *STD-SEQUENCE(...) / *MULTI-SEQUENCE(...)
Versionskonvention, die von nun an für den spezifizierten Typ gelten soll.

CONVENTION = *NONE
Die Versionskonvention wird von dem spezifizierten Typ entfernt. Dies ist jederzeit möglich.

CONVENTION = *STD-TREE
Die Versionskonvention *STD-TREE gilt für den betreffenden Typ. Es ist nicht erlaubt, *STD-TREE anzugeben, wenn ein Element unter dem spezifizierten Typ existiert.

CONVENTION = *STD-SEQUENCE(...)
Die Versionskonvention *STD-SEQUENCE gilt für den betreffenden Typ. Alle Elemente des Typs besitzen das gleiche Versionsformat, das durch ein Beispiel spezifiziert wird.
Es ist nicht erlaubt, *STD-SEQUENCE anzugeben, wenn ein Element unter dem spezifizierten Typ existiert.

EXAMPLE = 001 / <composed-name 1..24 with-under>

Beispiel für das Versionsformat. Das Format besteht aus einem, eventuell leeren, führenden Teil und der maximal langen abschließenden Zifferngruppe, die nicht leer sein darf. Bei allen Versionen unter dem betreffenden Typ müssen diese beiden Teile die gleiche Länge haben wie das Beispiel. Die abschließende Zifferngruppe wird für die automatische Versionserhöhung verwendet.
Wird hier keine explizite Angabe gemacht, wird der Wert „001“ als Beispiel für das Versionsformat verwendet.

CONVENTION = *MULTI-SEQUENCE(...)
Die Versionskonvention *MULTI-SEQUENCE gilt für den betreffenden Typ. Alle Elemente des Typs besitzen das gleiche Versionsformat, das durch ein Beispiel spezifiziert wird.
Es ist nicht erlaubt, *MULTI-SEQUENCE anzugeben, wenn ein Element unter dem spezifizierten Typ existiert.

EXAMPLE = <composed-name 1..24 with-under>
Beispiel für das Versionsformat. Das Format besteht aus einem eventuell leeren, führenden Teil und der maximal langen abschließenden Zifferngruppe, die nicht leer sein darf. Bei allen Versionen unter dem betreffenden Typ müssen diese beiden Teile die gleiche Länge haben wie das Beispiel. Die abschließende Zifferngruppe wird für die automatische Versionserhöhung verwendet.

STORAGE-FORM = *UNCHANGED / *NONE / *STD / *FULL / *DELTA
Zulässige Speicherform für Elemente dieses Typs. Alle Elemente eines Typs und Namens müssen die gleiche Speicherform haben.

STORAGE-FORM = *NONE
Es ist sowohl Voll- als auch Deltaspeicherung zulässig.

STORAGE-FORM = *STD
Sowohl Voll- als auch Deltaspeicherung sind zulässig.

STORAGE-FORM = *FULL
Es ist nur Vollspeicherung zulässig.

STORAGE-FORM = *DELTA
Nur Deltaspeicherung ist zulässig.

WRITE-CONTROL = *UNCHANGED / *NONE / *DEACTIVATE / *ACTIVATE

Attribut zur Steuerung zusätzlicher Prüfungen.

WRITE-CONTROL = *NONE
Es wirkt die Einstellung von WRITE-CONTROL für die Bibliothek.

WRITE-CONTROL = *DEACTIVATE
Es gibt keine zusätzlichen Prüfungen beim Erzeugen oder Überschreiben von Versionen.

WRITE-CONTROL = *ACTIVATE

Eine Version darf nur geschrieben werden, wenn

  • die USERID desjenigen, der schreiben will, bei der explizit oder implizit immer gegebenen Basisversion als HOLDER eingetragen ist, und

  • entweder eine neue Version erzeugt oder die Basisversion überschrieben wird.

Bei der ersten Version eines Namens gibt es noch keine Basis; sie kann nur von ADMIN-Berechtigten erzeugt werden. Beim Erzeugen oder Überschreiben von Versionen wird automatisch ein Satz der Satzart 2 zugefügt, der HOLDER=Schreiber, DATE und TIME des Vorgangs dokumentiert. Ferner werden die Attribute STATE, HOLDER und alle Rechte auf die neue Version übernommen, falls durch die aktuelle Anweisung nicht das Eintragen anderer Werte verlangt wird.

ADMINISTRATION = *UNCHANGED / *NONE / *BY-GUARD(...) / *PARAMETERS(...)Administrationsrecht. Der Kreis der Administrationsberechtigten wird für diesen Typ explizit festgelegt. Nur diese dürfen Elemente anlegen, löschen und umbenennen.

ADMINISTRATION = *NONE
Es wird kein Administrationsrecht für diesen Typ vergeben. Es gilt die Einstellung für die Bibliothek.

ADMINISTRATION = *BY-GUARD(...)
Das Verwaltungsrecht für diesen Typ wird über einen GUARD geregelt.

GUARD-NAME = <filename 1..18 without-cat-gen-vers>
Name des GUARDs.

ADMINISTRATION = *PARAMETERS(...)
Angabe der Benutzerkreise und evtl. eines Kennwortes für die Verwaltung des angegebenen Typs.

USER = *UNCHANGED / *NONE / *ALL / list-poss(3): *OWNER / *GROUP / *OTHERS
Der Kreis der Verwaltungsberechtigten wird explizit aufgezählt.

USER = *NONE
Keiner darf verwalten.

USER = *ALL
Alle dürfen verwalten (komplette Aufzählung).

USER = *OWNER
Nur der Eigentümer der Bibliotheksdatei darf verwalten.

USER = *GROUP
Die Angehörigen der Gruppe des Eigentümers der Bibliotheksdatei dürfen verwalten.

USER = *OTHERS

Alle anderen dürfen verwalten.

PASSWORD = *UNCHANGED / *SECRET / *NONE / <c-string 1..4> /
<x-string 1..8> / <integer -2147483648..2147483647>
Der Kreis der Berechtigten wird weiter eingeschränkt. Zusätzlich zum notwendigen Zugriffsrecht wird das richtige Kennwort verlangt. Die Angabe 0 bzw. X’00000000’ führt nicht zu einer Änderung des letzten Wertes.
Die Angabe von *SECRET bzw. ^ ermöglicht die verdeckte Eingabe des gewünschten Kennwortes. Wird der „geheime“ Wert als c-string eingegeben, muss er in Hochkommata stehen. Wird er als x-string eingegeben, muss er ebenfalls in Hochkommata angegeben und ein X vorangestellt werden.

INIT-ELEM-PROTECTION = *UNCHANGED / *NONE/ *PARAMETERS(...)
Angabe des initialen Elementschutzes, der bei den unter obigen Typ neu angelegten Elementen eingetragen werden soll.

INIT-ELEM-PROTECTION = *NONE
Es wird kein initialer Schutz für diesen Elementtyp vereinbart.

INIT-ELEM-PROTECTION = *PARAMETERS(...)
Angabe der Schutzrechte, die der oben spezifizierte Typ erhalten soll.

READ = *UNCHANGED / *NONE / *BY-GUARD(...) / *PARAMETERS(...)

Ein initiales Leserecht wird explizit festgelegt.

READ = *NONE
Es wird keine weitere Zugriffseinschränkung vorgesehen.

READ = *BY-GUARD(...)
Angabe des GUARDs für das Leserecht.

GUARD-NAME = <filename 1..18 without-cat-gen-vers>
Name des GUARDs.

READ = *PARAMETERS(...)
Angabe der Benutzerkreise für das Leserecht.

USER = *UNCHANGED / *NONE / *ALL/ list-poss(3): *OWNER / *GROUP / *OTHERS
Der Kreis der Leseberechtigten wird explizit aufgezählt.

USER = *NONE
Keiner darf in der angegebenen Art zugreifen.

USER = *ALL
Alle dürfen in der angegebenen Art zugreifen (komplette Aufzählung).

USER = *OWNER

Der Eigentümer der Bibliotheksdatei darf zugreifen.

USER = *GROUP
Die Angehörigen der Gruppe des Eigentümers der Bibliotheksdatei dürfen zugreifen.

USER = *OTHERS
Alle anderen dürfen zugreifen.

PASSWORD = *UNCHANGED /*SECRET / *NONE / <c-string 1..4> /
<x-string 1..8> / <integer -2147483648..2147483647>
Der Kreis der Berechtigten wird weiter eingeschränkt. Zusätzlich zum notwendigen Zugriffsrecht wird das richtige Kennwort verlangt.
Die Angabe von *SECRET bzw. ^ ermöglicht die verdeckte Eingabe des gewünschten Kennwortes. Wird der „geheime“ Wert als c-string eingegeben, muss er in Hochkommata stehen. Wird er als x-string eingegeben, muss er ebenfalls in Hochkommata angegeben und ein X vorangestellt werden.

WRITE = *UNCHANGED / *NONE / *BY-GUARD(...) / *PARAMETERS(...)Ein initiales Schreibrecht wird explizit festgelegt.
Beschreibung der Operanden analog zu READ (siehe "MODIFY-TYPE-ATTRIBUTES Typattribute ändern").

EXEC = *UNCHANGED / *NONE / *BY-GUARD(...) / *PARAMETERS(...)Ein initiales Ausführungsrecht wird explizit festgelegt.
Beschreibung der Operanden analog zu READ.

HOLD = *UNCHANGED / *NONE / *BY-GUARD(...) / *PARAMETERS(...)Ein initiales Ausleihrecht wird explizit festgelegt.
Beschreibung der Operanden analog zu READ.

Anweisungs-Returncode

(SC2)        SC1

Maincode

Bedeutung

0
1
32
64
130
130
130

CMD0001
CMD0230
LMS1002
LMS1004
LMS0041
LMS0411
LMS0413

Ohne Fehler
Syntaxfehler
Interner Fehler
Sonstige Fehler
Systemadressraum erschöpft
Bibliothek gesperrt
Typ gesperrt

Notwendige Zugriffsrechte

Lese- und Schreibrecht für LIBRARY

Nur der Eigentümer der Bibliotheksdatei kann Attribute des Typs ändern.

Hinweis

Die Typattribute bleiben erhalten, auch wenn alle Elemente des Typs gelöscht werden.

Beispiel

Für eine Bibliothek X.1 soll gelten:

  • Es dürfen nur vorgegebene Typen verwendet werden.

  • Für alle Elemente des Typs S wird die Konvention STD-SEQUENCE mit dem Versions- Beispiel V001 eingestellt.

  • Dem benutzerdefinierten Typ USER1 soll der SUPER-TYPE ́S ́ zugewiesen werden.

//MODIFY-LIBRARY-ATTRIBUTES LIBRARY=X.1,-                "Bibliothek X" 
//                       ADMIN=*PAR(USER=*NONE)          "typspez. Einstellung" 
//MODIFY-TYPE-ATTRIBUTES TYPE=S,-                        "Standardtyp S" 
//                       SUPER-TYPE=*NONE,-              "kein Supertyp" 
//                       CONVENTION=*STD-SEQUENCE -      "Versionskonvention" 
//                                  (EXAMPLE=V001),-     "Defaultversion" 
//                       ADMIN=*PAR(USER=*ALL)           "jeder darf verwalten" 
//MODIFY-TYPE-ATTRIBUTS TYPE=USER1,-                     "pro benutzerdef. Typ" 
//                       SUPER-TYPE=S,-                  "geeigneter Supertyp" 
//                       ADMIN=*PAR(USER=*UNCHANGED)     "selektive Einstellung" 
//SHOW-TYPE-ATTRIBUTES TYPE=S 
INPUT  LIBRARY= :1OSQ:$USER.X.1
TYPE       = S
SUPER-TYPE = *NONE
BASE-TYPE  = S
CONVENTION = *STD-SEQUENCE
EXAMPLE    = V001
INIT-ELEM-P= *NONE
ADMIN-PASS = *NONE        ADMIN-USER = *OWNER *GROUP *OTHERS
STORAGE    = *NONE        WR-CONTROL = *NONE

Ein weiteres Beispiel für den Elementschutz und Einstellung der Typattribute siehe "Schutzattribute vergeben und anzeigen".