With its borrowing mechanism, LMS affords a means of monitoring and controlling the development of components by two or more developers at the same time. First, it is necessary to activate WRITE-CONTROL for a given library or a type with the MODIFY-LIBRARY-ATTRIBUTES or MODIFY-TYPE-ATTRIBUTES statement. This ensures that a member can be written only if the user explicitly or implicitly holds the base version. Under the STD-SEQ convention, the holder of the highest version also has the entire version space reserved. Under the STD-TREE convention, the holder of the highest version of a branch has the entire branch reserved. Under the MULTI-SEQ convention, the holder of the highest version of a subname space reserves the entire subname space.
Borrowing member versions
First, the user obtains a member by means of the PROVIDE-ELEMENT statement. This changes the status of the member from FREE to IN-HOLD and makes a copy of the member available. It is then no longer possible to issue a PROVIDE-ELEMENT statement for that member.
It is also possible to mark a member as held by explicitly setting its status with the MODIFY-ELEMENT-ATTRIBUTES statement. In this case, no copy is made available, but can be obtained later using the COPY-ELEMENT statement.
Returning members
To return a member, use the RETURN-ELEMENT statement. If BASE=*STD is specified, the member version held by the user is determined. If the user holds multiple versions, the base must be specified explicitly. The member is then again available for holding by other users; the hold flag is deleted. When you return a member, you can return a comment along with it. If WRITE-CONTROL has been activated, the HOLDER, DATE and TIME of return are automatically recorded. You can view these members using EDIT-ELEMENT.
Cancelling reservations
With the MODIFY-ELEMENT-ATTRIBUTES statement, you can cancel a reservation for a held member, for example if it has become unnecessary to return the member.
Granting hold rights
The owner of the library can specify who has hold authorization for each member using MODIFY-ELEMENT-PROTECTION; only the person(s) thus authorized can hold the member.