This document describes the CAIRIM input needed to support multiple releases of IDMS on the same LPAR.
Release: All supported releases.
When multiple releases of IDMS are running on the same z/OS LPAR, it is possible to either share one SVC for all releases, or use a different SVC for each release. It is recommended to use the same SVC but either configuration is possible.
The following examples assume an LPAR currently running IDMS r18.5 and using SVC 172, and that it is being upgraded to r19.0 but both releases need to be run on the same LPAR for a period of time.
In this case, before the upgrade, the CAIRIM input used at z/OS IPL time should be this:
//PARMLIB DD *
PRODUCT(CA IDMS) VERSION(GJI5) INIT(GJI5INIT) PARM(SVC=172)
The above statement will load SVC 172 (load module IGC172) and because it is not a "REFRESH", it will also load the other required APFLIB load modules for r18.5: RHDCSSFM, IDMSMSVA, CAIXDOA$ and PMRTDATA.
Sharing the same SVC
The r19.0 install process will have re-generated the SVC with r19.0 software. To refresh that SVC from that point in time (and allow it to support r19.0) run this one-off CAIRIM job with the r19.0 APFLIB in STEPLIB.
//PARMLIB DD *
PRODUCT(CA IDMS) VERSION(GJJ0) INIT(GJJ0INIT) PARM(REFRESH(SVC=172))
PRODUCT(CA IDMS) VERSION(GJJ0) INIT(GJJ0INIT) PARM(REFRESH(RHDCSSFM))
PRODUCT(CA IDMS) VERSION(GJJ0) INIT(GJJ0INIT) PARM(REFRESH(IDMSMSVA))
PRODUCT(CA IDMS) VERSION(GJJ0) INIT(GJJ0INIT) PARM(REFRESH(CAIXDOA$))
PRODUCT(CA IDMS) VERSION(GJJ0) INIT(GJJ0INIT) PARM(REFRESH(PMRTDATA))
This reloads IGC172, registers it for usage with r19.0 (maintaining its registration with r18.5), and also reloads the r19.0 versions of the other four modules. They are backward compatible so this will continue to support r18.5.
But that is the only time that REFRESH job needs to be run in this process. From the next IPL onwards, only the following CAIRIM syntax is needed (with STEPLIB pointing to the r19.0 APFLIB).
//PARMLIB DD *
PRODUCT(CA IDMS) VERSION(GJJ0) INIT(GJJ0INIT) PARM(SVC=172)
PRODUCT(CA IDMS) VERSION(GJI5) INIT(GJJ0INIT) PARM(REFRESH(SVC=172))
Using a different SVC
To use a different SVC for r19.0, say SVC 173 for example, the install process will have created an IGC173 load module in the r19.0 APFLIB. Run a one-off CAIRIM job to load that SVC and reload the other four APFLIB modules with the r19.0 versions. They are backward compatible so this will continue to support r18.5.
//PARMLIB DD *
PRODUCT(CA IDMS) VERSION(GJJ0) INIT(GJJ0INIT) PARM(SVC=173)
PRODUCT(CA IDMS) VERSION(GJJ0) INIT(GJJ0INIT) PARM(REFRESH(RHDCSSFM))
PRODUCT(CA IDMS) VERSION(GJJ0) INIT(GJJ0INIT) PARM(REFRESH(IDMSMSVA))
PRODUCT(CA IDMS) VERSION(GJJ0) INIT(GJJ0INIT) PARM(REFRESH(CAIXDOA$))
PRODUCT(CA IDMS) VERSION(GJJ0) INIT(GJJ0INIT) PARM(REFRESH(PMRTDATA))
But that is the only time that REFRESH job needs to be run in this process. From the next IPL onwards, only the following CAIRIM syntax is needed (with STEPLIB pointing to the r19.0 and r18.5 APFLIBs in that order).
//PARMLIB DD *
PRODUCT(CA IDMS) VERSION(GJI5) INIT(GJJ0INIT) PARM(SVC=172)
PRODUCT(CA IDMS) VERSION(GJJ0) INIT(GJJ0INIT) PARM(SVC=173)
There can only be one version of the modules RHDCSSFM, IDMSMSVA, CAIXDOA$ and PMRTDATA loaded in an LPAR at any time. They are always backward compatible so the latest version should always be used. The above instructions will ensure that.
Do not run any CAIRIM jobs while the related CVs are active, otherwise ERUS tasks will not work against those CVs until they are cycled.
CAIRIM documentation.