This statement can be used to modify the member name, version, user date, CCS name and/or member state. The statement may be used for all member types.
The source and target member base types may differ if text members are processed.
It is not permitted to change a member designation for delta members or when WRITE-CONTROL is active.
MODIFY-ELEMENT-ATTRIBUTES | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
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 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 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.
CODED-CHARACTER-SET = *ANY / *NONE / <name 1..8 with-wild(20)>Character set assigned to the member.
CODED-CHARACTER-SET = *ANY
Selects members without regard to their assigned character set.
CODED-CHARACTER-SET = *NONE
Selects members which have not been assigned a character set.
CODED-CHARACTER-SET = <name 1..8> / <composed-name 1..8 with-wild(20)> Selects the members to which the specified character set has been assigned.
STATE = *ANY / *FREE / *IN-HOLD(...)
State assigned to the member.
STATE = *ANY
Selects members without regard to their respective STATEs.
STATE = *FREE
Selects only members with STATE=FREE
STATE = *IN-HOLD(...)
Selects only members with STATE=IN-HOLD.
HOLDER = *ANY / <name1..8 with-wild(20)>
HOLDER assigned to the member.
HOLDER = *ANY
Selects members without regard to their respective HOLDERs.
HOLDER = <name 1..8> / <composed-name 1..8 with-wild(20)>
Selects only members which are assigned a HOLDER matching the pattern.
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 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-ATTRIBUTES = *PARAMETERS(...)
Specifies the attributes that the target member is to receive.
ELEMENT = *BY-SOURCE(...) /
<composed-name 1..132 with-under with-wild-constr>(...)
New name that the member is to receive.
ELEMENT = *BY-SOURCE(...)
The new name is the same as the old name. The member is not renamed.
VERSION = *BY-SOURCE / *LMS-DEFAULT / *HIGHEST-EXISTING /
*INCREMENT / *UPPER-LIMIT /
<composed-name 1..52 with-under with-wild-constr>
Version that the member is to receive. Only the version is renamed, not the member.
VERSION = *BY-SOURCE
The new member receives the same version as the original member.
VERSION = *HIGHEST-EXISTING
Depending on the convention applicable for the type, this overwrites the highest existing version with reference to BASE among the members of the same type and name; otherwise a default version is generated.
VERSION = *INCREMENT
Depending on the convention applicable for the type, this generates a new, higher version among existing members having the same type and name; otherwise a default version is generated (see also "Convention: STD-TREE").
VERSION = *UPPER-LIMIT
The highest possible version X’FF’ is generated.
VERSION = <composed-name 1..52 with-under with-wild-constr>
The text specified here is interpreted as the version designation.
BASE = *STD / <composed-name 1..24 with-under with-wild>
Defines the base for the target member. For further information concerning specification of the base, see "Version designations".
ELEMENT = <composed-name 1..132 with-under with-wild-constr>(...) The new name of the member can also be entered using wildcards.
VERSION = *BY-SOURCE / *LMS-DEFAULT / *HIGHEST-EXISTING /
*INCREMENT / *UPPER-LIMIT /
<composed-name 1..52 with-under with-wild-constr>
Version that the member to be renamed is to receive. For description of operands, see above.
BASE = *STD / <composed-name 1..24 with-under with-wild>
Defines the base for the target member. For further information concerning specification of the base, see "Version designations".
TYPE = *BY-SOURCE / *LMS-DEFAULT / <alphanum-name 1..20 with-wild-constr>Type which the member being renamed is to receive.
TYPE = *BY-SOURCE
The member to be renamed receives the same type designation as the original member.
USER-DATE = *BY-SOURCE / *TODAY / <date 8..10 with-compl>
Date given by the user.
USER-DATE = *BY-SOURCE
The member to be renamed receives the same date as the original member.
USER-DATE = *TODAY
The current date is given.
USER-DATE = <date 8..10 with-compl>
The date must be entered in the form [YY]YY-MM-DD.
MODIFICATION-DATE = *BY-SOURCE / *SYSTEM-DATE
Controls updating of the modification date.
MODIFICATION-DATE = *BY-SOURCE
The modification date is not to be updated.
MODIFICATION-DATE = *SYSTEM-DATE
Updates the modification date.
CODED-CHARACTER-SET = *BY-SOURCE / *LIBRARY-DEFAULT / *NONE / <name 1..8>
Character set assigned to the member.
CODED-CHARACTER-SET = *BY-SOURCE
The member is assigned the character set of the source member.
CODED-CHARACTER-SET = *LIBRARY-DEFAULT
The member is assigned the character set of the library containing the member.
CODED-CHARACTER-SET = *NONE
No character set is assigned to the member.
CODED-CHARACTER-SET = <name 1..8>
Specifies the character set which is to be assigned to the member.
STATE = *BY-SOURCE / *FREE / *IN-HOLD
State assigned to the member.
STATE = *BY-SOURCE
Leaves the state of the member unchanged.
STATE = *FREE
The new state of the member is FREE. Only the HOLDER and the owner of the library are permitted to change the state to FREE.
STATE = *IN-HOLD
The new state of the member is IN-HOLD. The USERID of the person who changed the state from FREE to IN-HOLD is entered as the HOLDER. If the state was already IN-HOLD, the statement is rejected. Only persons with hold authorization can be HOLDERs.
WRITE-MODE =
Overwriting of a member having the same name. If the member does not exist under this name, it will be created as a new member. If the type, name and version of the member remain unchanged, WRITE-MODE has the same effect as WRITE-MODE=*ANY.
WRITE-MODE = *CREATE
The target member must not yet exist and is created as a new member.
WRITE-MODE = *REPLACE
The target member must already exist and is replaced.
WRITE-MODE = *ANY
The target member is replaced if it already exists. Otherwise it will be created as a new member.
DIALOG-CONTROL = *LMS-DEFAULT / *NO / *YES / *ERROR
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.
Statement return code
(SC2) | SC1 | Maincode | Meaning |
| 0 | CMD0001 | No error |
Required access rights
Read and write authorization for LIBRARY
Administer authorization is also required in order to change the member designation.
If an existing member designation is to be changed, the person making the change must have write authorization for the member which will be overwritten in the process.
Hold authorization is required in order to change a member’s state from FREE to IN-HOLD. Only the member’s HOLDER or the library owner are permitted to change the state of the member back to FREE.
Other attributes may be changed by persons having administer authorization or write authorization for the member involved, but not if STATE=*IN-HOLD is specified and WRITE-CONTROL is activated.
Notes
When creating a member, be sure to take into account the convention applicable to the member type.
If WRITE-CONTROL is activated, changes to member designations will not be allowed. This prevents members from being generated or overwritten without it also being documented when changes were made, and by whom.
Examples
The following examples assume that the member type is already preset.
Modifying the member name from OLD to NEW:
//modify-element-attributes *lib(library=lib,elem=old), -
new-attr=*par(elem=new)
Modifying the version designation of the member “old” from V1 to V2:
//modify-element-attributes *lib(library=lib,elem=old(version=v1)), -
new-attr=*par(*by-source(version=v2))