openUTM offers you the option of exchanging the application program while the application is running. This means that you can modify program units of your application program, create a new version of the application program, and start up this version of the application program without having to terminate the application run, for example.
The applications to be exchanged can consist as well as only of program units that are statically, as of program units that are linked as shared objects.
Please note the following when changing the application program:
In applications without shared objects the changes may not have any effect on the KDCDEF generation or the KDCFILE. This means that you cannot use the “exchange applications” function if you want to add new program units to the application program. If new program units are added, then they are not contained in the tables of the KDCFILE.
In applications with shared objects you can add new program units to the application program. These program units must be linked in shared objects, however, that are contained in the configuration of the application. The program units and the associated transaction codes must be entered in the tables of the KDCFILE via the administration.
If there are some program units missing after the exchange that were in the previous application program, then jobs can be submitted to the application for TACs for which there is no program unit any more. These jobs are terminated by openUTM with PEND ER. The transaction codes can be deleted by the UTM administrator from the configuration.
The different versions of your application program and the exchange process are managed by the KDCPROG tool (see section "The KDCPROG tool"). KDCPROG manages the versions of the application program in a file generation group (FGG=File Generation Group).
If you exchange a program unit which exists as a shared object, the old file is first exchanged by a new one. As a result, the references from the static part of the application program to the shared object are then unresolved.
Only when the UTM administrator initiates the program exchange for the application program using the administration command KDCAPPL PROG=NEW | OLD, are all unresolved references to the shared object resolved and the new shared object brought into effect in the application program.
With KDCAPPL PROG=SAME you can reload the application program. I.e. if file generations are used, the program of the same file generation is loaded again.