The version of a member is defined in the member designation and identifies the current state of the member.
The following section describes the possible version designations and provides information on version maintenance and storage.
Version maintenance and storage
In libraries, a member is uniquely defined by its type, name and version designation. Furthermore, it is possible to store several versions under one member type and member name.
If the user does not specify the version to be processed, LMSCONV automatically performs the following actions:
In read mode that member is sought which has the specified name and the highest version designation. The date is ignored.
In write mode the actions depend on the statement:
//ADD-ELEMENT
andMODIFY-LOGGING-PARAMETERS TEXT-OUTPUT=
The member is generated or overwritten with the highest version X'FF'. LMSCONV identifies this version by @.
Other statements
The output member is given the version designation of the input member.If an identically named member is overwritten, the internal variant number is incremented by 1. This serves as a write counter.
Different states of a development object are stored in different members. Initially, only the user is aware of the relationships between individual members; they are not anchored in the library. Each member is an independent unit in the context of a library.
Version designations
The member versions which are to be processed by LMSCONV are identified in the LMSCONV statements by means of the VERSION operand. A distinction is made between the source version and the target version.
Source version
If a member is used as the input for a function, e.g. if it is to be copied or changed, the member version is then called the source version.The source version can be specified as follows:
composed-name
The version specified by composed-name is the source version.*UPPER-LIMIT
This entry selects the highest possible version (represented internally by X ́FF ́).*HIGHEST-EXISTING
This entry selects the highest existing version of the specified member name.
Target version
If the member is used as the result of a function, e.g. if it is to be written back, the member version is then called the target version.The target version can be specified as follows:
*BY-SOURCE
The source version is also the target version. If the source is not a library member, *UPPER-LIMIT is the target version.*UPPER-LIMIT
The absolute highest version, represented internally by X'FF', is the target version.composed-name
The version specified by composed-name is the target version. If “@” is entered, it will be rejected.