The generation numbers reflect the chronological relationship between the generations, since they are the “consecutive numbers” allocated as the generations are created.
The catalog entry for a file generation always contains its “absolute generation number”. This generation number is incremented by 1 as each new generation is created. The upper limit for this number is 9999, and the next generation is then cataloged with the generation number 0001. An asterisk “*” before the generation number indicates that this is an absolute generation number; leading zeros may be omitted.
Absolute generation number: (*number); 0001
<= number
<= 9999
In order to avoid the need to update the absolute generation number in programs or procedures which process or create file generations, a base for the use of relative generation numbers is defined in the catalog entry for the file generation group. The user may specify any existing generation as the base for relative indexing and may change this base at any time by means of the BASE operand of the CATAL macro or the BASE-NUMBER operand of the CREATE-FILE-GROUP and MODIFY-FILE-GROUP-ATTRIBUTES commands. The absolute generation number which is the current reference point is stored in the field “BASE-NUM” of the group entry in the catalog. DMS recognizes relative generation numbers by the fact that they start with the sign “+” or “-” instead of the asterisk “*” used for an absolute generation number.
Relative generation number: (+number) or (-number); 0
<= number
<= 99
Example: allocating relative and absolute generation numbers
A file generation group GROUP is to consist of the cataloged generations 20 to 23; the catalog entry contains the information BASE=21. This results in the following relationships between relative and absolute generation numbers: