DSSM has offered the option of keeping two versions of a subsystem active, temporarily or permanently, to permit all the tasks which are linked to the old version to continue working. This coexistence mode must be specified when the subsystem is defined (using the SSCM statement SET-SUBSYSTEM-ATTRIBUTES ...,VERSION-COEXISTENCE=*ALLOWED), and must be explicitly requested in the START-SUBSYSTEM command.
If a temporary coexistence is in effect and version B of a subsystem is loaded whilst version A of the subsystem is active, all new callers will be connected to version B. Jobs which are connected to version A will still be processed. When all the jobs which use version A have been processed, this version will automatically be terminated.
It should be noted that, in the definition, the “old” version which is being replaced must not be dependent on the “new” version which replaces it.
If a permanent coexistence of different versions of a subsystem is required, then the appropriate attribute must be specified in the definition for each of the subsystems, and this mode must be explicitly requested in the START-SUBSYSTEM command.