If you want to exchange a part of an application which was generated in a load module with LOAD-MODE=ONCALL, only the new version number to be loaded for the respective load module will be entered in the UTM tables when the administration command KDCPROG is processed.
The load module of the new version will not be loaded by each task of the application until the next time a program unit of this load module is called in the task. This program exchange can be implemented simultaneously by several tasks of an application. Until the requested program exchange has been implemented by all tasks of the UTM application, different states of the application program are loaded in the individual tasks. However, it is ensured that each task implements the requested exchange before another program unit is activated which is contained in the load module to be exchanged.
The exchange of an ONCALL load module does not have a blocking effect on subsequent commands for program exchange; in other words, immediately after processing the KDCPROG command the administrator can initiate a new program exchange with another KDCPROG command. However, the program library must not be modified after the administration call has been issued, as otherwise the program exchange may result in errors.
If the version numbers of the new and the old load module are the same, no program exchange is implemented.