Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Exchanging the entire application

You can use the command KDCAPPL PROG=NEW to exchange the entire application.

At least one LOAD-MODULE must have been generated for the application if it is to be possible to exchange the entire application.

Exchanging the entire application may be useful or necessary in the following situations:

  • Program components in common memory pools are to be exchanged.

  • Program components generated with LOAD-MODE=ONCALL are to be unloaded.

  • Programs in common memory pools were added dynamically, and these programs are to be loaded for the application.

When the entire application is exchanged, each task of the application is unloaded in succession and then loaded dynamically. In the dynamic loading process, the new versions of the load modules are loaded. For load modules generated with *HIGHEST-EXISTING for the version, the highest existing version is loaded.To minimize the interruption to the operation of the application, openUTM exchanges only one task of the application at any one time.

The administrator can issue the command KDCINF SYSP to ascertain whether or not a program exchange is running at present.

When the program exchange is concluded successfully, openUTM generates UTM message K074, which is output to SYSOUT. The UTM message can also be evaluated using an MSGTAC program in order to make this information accessible to the administrator.


If individual load modules cannot be loaded or if all programs specified in the UTM generation are not linked in the load module, this does not abort the application exchange. If an unavailable program is called at a later stage, openUTM generates a PEND ER.

If openUTM has to terminate the program exchange, openUTM generates UTM message K075. As an insert, UTM message K075 contains the TSN of the task that aborted the application exchange. In the SYSOUT file of this task, BLS messages and openUTM messages may indicate the cause of the abort. One possible reason for aborting an application exchange may be that an AREA in a newly loaded module is not available. If the application exchange is aborted, a task of the UTM application may be terminated. However, the other tasks of the application continue to run. The load modules marked for exchange remain marked and, as soon as the problem has been rectified, the application exchange can be initiated again.