This statement modifies the protection for the specified members of the assigned library. The statement is permissible for all member types.
*UNCHANGED means that the respective member protection attributes remain unchanged.
MODIFY-ELEMENT-PROTECTION | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
ELEMENT = *LIBRARY-ELEMENT(...)
Specifies the desired member designation.
LIBRARY = *STD / <filename 1..54 without-vers> / *LINK(...)
Specifies the library containing the member.
LIBRARY = *STD
The library opened by OPEN-LIBRARY.
LIBRARY = <filename 1..54 without-vers>
Name of the library containing the member.
LIBRARY = *LINK(...)
The library assigned via the link name.
LINK-NAME = <structured-name 1..8>
Link name of the library; this name was defined by means of a /ADD-FILE-LINK command prior to calling LMS.
ELEMENT = *ALL / <composed-name 1..64 with-under with-wild(132)>(...)Name of the member whose protection attributes are to be modified.
VERSION = *HIGHEST-EXISTING / *ALL / *UPPER-LIMIT /
<composed-name 1..24 with-under with-wild(52)>
Version of the member.
VERSION = *HIGHEST-EXISTING
The protection attributes of the member with the highest existing version are modified.
VERSION = *UPPER-LIMIT
The highest possible version X’FF’ of the member in the library under the specified TYPE and name is used.
VERSION = <composed-name 1..24 with-under with-wild(52)>
Explicitly specifies the version of the member.
BASE = *STD / <composed-name 1..24 with-under with-wild>
Prefix for the version selection. In conjunction with VERSION= *HIGHEST- EXISTING , it is then possible to use a certain prefix to reference the highest existing version. BASE=*STD has the same effect as BASE=*. For further information concerning specification of the base, see "Version designations".
TYPE = *LMS-DEFAULT / *ALL / <alphanum-name 1..8 with-wild(20)> Type of the member.
USER-DATE = *ANY / *TODAY / <date 8..10 with-compl> / *INTERVAL(...) Date given by the user.
USER-DATE = *ANY
The member has any date.
USER-DATE = *TODAY
The member with the current date is used.
USER-DATE = <date 8..10 with-compl>
The member whose date is entered explicitly in the form [YY]YY-MM-DD is used.
USER-DATE = *INTERVAL(...)
All members lying in the specified interval are used.
FROM = 1900-01-01 / <date 8..10 with-compl>
Beginning of interval.
TO = *TODAY / <date 8..10 with-compl>
End of interval.
CREATION-DATE = *ANY / *TODAY / <date 8..10 with-compl> / *INTERVAL(...) Creation date of the member. For a description of the operands, see the USER-DATE operand of this statement.
MODIFICATION-DATE = *ANY / *TODAY / <date 8..10 with-compl> / *INTERVAL(...)Date of the last modification to the member. For a description of the operands, see the USER-DATE operand of this statement.
PROTECTION = *ANY / *NONE / *PARAMETERS(...)
Member protection for the selected members.
PROTECTION = *ANY
The members have any member protection.
PROTECTION = *NONE
The members have no additional member protection.
PROTECTION = *PARAMETERS(...)
Specifies the protection with which the members to be selected are provided.
READ = *ANY / *NONE / *BY-GUARD(...) / *PARAMETERS(...)
Read protection setting assigned to the member.
READ = *ANY
Selects members without regard to their respective read protection settings.
READ = *NONE
Selects only members which have no read protection.
READ = *BY-GUARD(...)
Selects only members which have GUARD read protection.
GUARD-NAME = <filename 1..40 without-cat-gen-vers with-wild>
Selects only members which have read protection by a GUARD-NAME
matching the pattern.
READ = *PARAMETERS(...)
Selects only members which have read protection by BACL and/or password.
USER = *ANY / *NONE / *ALL / list-poss(3): *OWNER / *GROUP / *OTHERS The read-authorized user group which is assigned to the member.
USER = *ANY
Selects members without regard to their respective read-authorized user groups.
USER = *NONE
Selects only members for which no read authorization has been granted.
USER = *OWNER
Selects only members for which the owner of the library file has read
authorization.
USER = *GROUP
Selects only members for which the library file owner’s group has read
authorization.
USER = *OTHERS
Selects only members for which OTHERS read authorization has been granted.
PASSWORD = *ANY / *YES / *NO
Read password assigned to the member.
PASSWORD = *ANY
Selects members without regard to their respective passwords.
PASSWORD = YES
Selects only members which are protected by a read password.
PASSWORD = *NO
Selects only members which are not protected by a read password.
WRITE = *ANY / *NONE / *BY-GUARD(...) / *PARAMETERS(...)
Write authorization. Selects only members for which this authorization has been granted in the specified manner.
The operands are analogous to those described above for READ.
EXEC = *ANY / *NONE / *BY-GUARD(...) / *PARAMETERS(...)
Execute authorization. Selects only members for which this authorization has been granted in the specified manner.
The operands are analogous to those described above for READ.
HOLD = *ANY / *NONE / *BY-GUARD(...) / *PARAMETERS(...)
Hold authorization. Selects only members for which this authorization has been granted in the specified manner.
The operands are analogous to those described above for READ.
EXCEPT-ELEMENT = *NONE / *ELEMENT(...)
Specifies the members to be excluded from the above selection.
EXCEPT-ELEMENT = *NONE
No members are excluded.
EXCEPT-ELEMENT = *ELEMENT(...)
Specifies the members whose protection attributes are to be excluded from modification. A member is excluded when all the fields of the EXCEPT-ELEMENT structure that are not set to *ANY identify the member as a hit. If all the fields of the EXCEPT-ELEMENT structure are set to *ANY, then all members will be excluded.For a description of the operands, see the *LIBRARY-ELEMENT operand of this statement.
NEW-PROTECTION = *UNCHANGED / *NONE / *PARAMETERS(...)
New member protection for the selected members.
NEW-PROTECTION = *NONE
The member receives no new or additional protection. It is protected only by the protection for the library file.
NEW-PROTECTION = *PARAMETERS(...)
Specifies which protection should now apply for the member.
READ = *UNCHANGED / *NONE / *BY-GUARD(...) / *PARAMETERS(...) New read protection granted for the member.
READ = *NONE
No further access restriction is provided.
READ = *BY-GUARD(...)
Specifies the read guard.
GUARD-NAME = <filename 1..18 without-cat-gen-vers>
Name of the guard.
READ = *PARAMETERS(...)
Modifies the user circles for the read authorization.
USER = *UNCHANGED / *NONE / *ALL / list-poss(3): *OWNER / *GROUP / *OTHERS
The circle of those with read authorization is explicitly listed.
USER = *NONE
None may access in the specified manner.
USER = *ALL
All may access in the specified manner (full listing).
USER = *OWNER
The owner of the library file may access.
USER = *GROUP
Those belonging to the group of the owner of the library file may access.
USER = *OTHERS
All others may access.
PASSWORD = *UNCHANGED / *SECRET / *NONE / <c-string 1..4> /
<x-string 1..8> / <integer -2147483648..2147483647>
The circle of authorized persons is further restricted. In addition to the necessary access right, the correct password is required. Specifying 0 or X’00000000’ does not result in any change of the last value.
Specifying *SECRET or ^ allows the desired password to be entered invisibly. If the “secret” value is entered as a c-string, it must be enclosed in apostrophes. If it is entered as an x-string, it must similarly be enclosed in apostrophes and also be prefixed by an X.
WRITE = *UNCHANGED / *NONE / *BY-GUARD(...) / *PARAMETERS(...)
New write authorization granted for the member.
The description of the operands is analogous to that for READ (see "MODIFY-ELEMENT-PROTECTION").
EXEC = *UNCHANGED / *NONE / *BY-GUARD(...) / *PARAMETERS(...)
New execute authorization granted for the member.
The description of the operands is analogous to that for READ (see "MODIFY-ELEMENT-PROTECTION").
HOLD = *UNCHANGED / *NONE / *BY-GUARD(...) / *PARAMETERS(...) New hold authorization granted for the member.
The operands are analogous to those described for READ (see "MODIFY-ELEMENT-PROTECTION").
DIALOG-CONTROL = *LMS-DEFAULT / *NO / *YES
This operand determines whether or not a dialog is to be conducted with the user during execution of a statement.
For more detailed information on dialog control, see the MODIFY-LMS-DEFAULTS statement, where the value *ERROR which might have been set there has the same effect as *NO. Likewise, the value *ERROR which may have been set for DIALOG-CONTROL= in the /SEND-MSG message command has the same effect as *NO with MODIFY-ELEMENT-PROTECTION.
Note
The *ERROR value, which may perhaps have been set in the MODIFY-LMS-DEFAULTS statement, has the same effect as *NO.
Statement return code
(SC2) | SC1 | Maincode | Meaning |
| 0 | CMD0001 | No error |
Required access rights
Read and write authorization for LIBRARY
Protection attributes can only be modified by the owner of the library file.
Examples
In addition to the read authorization, the group is also given the write authorization for all members to which the group previously only had read access.
//modify-element-protection - // *lib(elem=*,type=*,protection=(read=(user=*group))),// new-protection=(write=(user=*group))
When specifying new-protection there is no need to redefine the read authorization. The previous setting (UNCHANGED) for the read authorization still applies.
Entry of this password is to be made non-visible.
//modify-element-protection *lib(elem=test,type=s), - // new-protection=(exec=(user=*group,password=*secret)) %ENTER SECRET OPERAND (NEW-PROTECTION=:EXEC=:PASSWORD):