openUTM offers functions for exchanging application programs or parts of an application program during operation. openUTM uses the interfaces and functions of the BLS for the exchange operation.
The application must have been generated with at least one LOAD-MODULE statement if program exchange is to be possible.
The following can be exchanged during operation using UTM administration functions:
All non-shareable application parts that are not linked statically.
All application parts in a common memory pool valid for a user ID
(MPOOL..., SCOPE=GROUP). However, this requires that no more than one openUTM application is connected to this common memory pool.The complete application.
A nonprivileged subsystem in LLM format, for which the private slice is generated as a load module with LOAD-MODE=STARTUP | ONCALL. A system administration command is required in addition to the KDCPROG command. Please note that a consistency gap exists for nonprivileged subsystems in OM format. See also the information in section "Shared code in system memory".
The following cannot be exchanged during operation:
Program components that were linked statically to the application program.
Program components that were loaded as shareable programs in a common memory pool generated with SCOPE=GLOBAL.
Program components in common memory pools that were loaded with SCOPE=GROUP and to which several UTM applications are connected under the same user ID.
Load modules in which additional user-specific modules other than the one generated with a LOAD-MODULE statement are loaded by the autolink function along with the load module.
Load modules containing TCBs.
Load modules containing runtime modules. These can only be exchanged with the entire application program.
The load module that contains the KDCADM administration program unit.
The UTM administration functions for exchanging programs are described in the openUTM manual “Administering Applications”. |