openUTM manages the different versions of your application, which you use for the exchange, in the file generation group (FGG) PROG. The FGG is created as follows (see also section "The KDCPROG tool"):
On Unix and Linux systems with the command:
utmpath/ex/kdcprog CREATE
operand
On Windows systems in the DOS command prompt with the command:
utmpath\ex\kdcprog CREATE
operand
In the following table, the central FGG terms are compared with the UTM-specific definitions relating to version management and application program exchange.
FGG terms | Version management for application exchange by openUTM |
Generation of the FGG | A version of your application program comprises the utmwork program. The utmwork file forms a generation of the FGG. |
Absolute generation number | When transferring a generation (i.e. a new version of the application program) to the FGG, you assign a serial number to the generation, the absolute generation number of the generation. UTM addresses the individual generations by means of their generation numbers. |
Name of the generation | The name of a generation is
where 0001 <= absolute_generation_number <= 9999. |
Ascending generation number | The generation numbers of the subsequent generations must be assigned in ascending order (e.g. 0002, 0003, 0004, etc.). |
Base of the FGG | One generation of the FGG is the base of the FGG. When the application starts, UTM always loads the base. |
Base number | The absolute generation number of the base is the base number of the FGG. After the FGG is created, 0001 is the base number and the first generation transferred to the FGG is the base of the FGG. While the application is running, UTM always switches the base to the generation currently loaded, i.e. when a program is exchanged UTM switches the base to the generation loaded during exchange. |
Relative generation number | Relative to the base, each generation of an FGG is assigned a relative generation number and a relative FGG name. |
Relative FGG name | The relative FGG name of a generation is PROG(relative_generation_no.) |
Maximum number of generations | When creating the FGG, you define the maximum number of generations that can exist simultaneously in the FGG. |
First generation | When the maximum number of generations is reached, UTM executes the next transfer as follows:
|
Last generation | The generation of the FGG with the highest generation number is the last generation of the FGG. |
Examples
When the application starts, the generation with the absolute generation number 0001 is the base of the FGG. While the application is running, the application program is exchanged with KDCAPPL PROG=NEW and generation with generation number 0002 is loaded. This generation is then automatically the base of the FGG. The next time the application starts, openUTM loads this generation (0002). Between two application runs, you can switch the base using the SWITCH function of the KDCPROG tool:
The base has the relative generation number +0000.
The generation switched to when the application is exchanged with KDCAPPL PROG=NEW, has the relative generation number +0001.
The generation switched to with KDCAPPL PROG=OLD has the relative generation number -0001.
The base number of the FGG is 6. The generation with the absolute generation number 0001 then has the relative FGG name PROG(-5) and the generation with the absolute generation number 0008has the relative FGG name PROG(+2).
The maximum number of generations in the FGG is 3. The FGG contains the generations 0001, 0002, 0003
0001 is thus the first and 0003 the last generation.
When the generation 0004 is transferred to the FGG, openUTM deletes the first generation 0001. The FGG then contains the three generations 0002, 0003, 0004.
The first generation is now the generation with the absolute generation number 0002. This is deleted by openUTM if an additional generation is transferred to the FGG.