CA Datacom VSAM Transparency (DBVT) Version 14.0 provides enhancements over Release 2.2 in the installation of the CA Datacom VSAM Transparency Subsystem using the CA Common Services for z/OS CAIRIM service. You can now modify and upgrade an existing subsystem without performing an IPL of the system for the modifications to take effect.
Version 14.0 also avoids the frequently encountered problem of a non-operational subsystem, when the user had mistakenly provided subsystem module DVVSSPR in the JOB/STEP library concatenation of the CAIRIM execution. These enhancements have been implemented by replacing the old subsystem install module DV22INIT with the new module DVCR4PR. The following discusses the new functions, parameters, and messages of this installation module.
Subsystem Delete Function
In addition to creating a new subsystem, you can use the DVCR4PR module to delete an existing subsystem. Once deleted, a new subsystem with the same name can be installed with the simple execution of CAIRIM without the need to IPL the system. Sample JCL member BGFBK01 in PDS CABGSAMP contains the new CAIRIM parameters to delete a subsystem:
PRODUCT(CA DATACOM VSAM/T) VERSION(BG14) INIT(DVCR4PR) -
PARM(DVSSN=CAVT,DELETE) -
LOADLIB(CAI.CHLQ.CUSLIB)
Module Suffixes and Installation of New Subsystems
Sample JCL member BGRIM01 in CABGSAMP contains the new format of the CAIRIM parameters to install a new subsystem:
PRODUCT(CA DATACOM VSAM/T) VERSION(BG14) INIT(DVCR4PR) -
PARM(DVSSN=VTTS,SFX=##) -
LOADLIB(CAI.CHLQ.CUSLIB)
The installation module DVCR4PR does not accept "PR" as a suffix. The subsystem modules are loaded to the LPA (including MLPA or CSA) with the suffix specified by parameter SFX=. With SFX=##, for instance, module DVVSSPR will be loaded as DVVSS##. Since "PR" is no longer a valid suffix, the installation process will never erroneously load module DVVSSPR from the JOB/STEP libraries into the z/OS private area, which would render the subsystem non-operational.
With the suffixed subsystem modules residing in the LPA, you must use a unique suffix for every new subsystem to avoid duplicate load module names in the LPA. The suffix used with a new subsystem must not have been used for any previous subsystem since the last IPL of the system. This includes suffixes used for subsystems that have since been deleted. If you use a previously used suffix, the new subsystem encounters unpredictable errors.
The module suffix, however, is not tied in any way to the subsystem name. Your JCL in application jobs only specifies the name of the subsystem. It is completely independent of any module suffixes used for any of the subsystems. For application jobs, the suffix used by a subsystem is totally immaterial.
It is your responsibility to ensure unique module suffixes. This can be accomplished by using naming patterns. For instance, you can use sequence numbers 01, 02, 03, ... or alphabetical patterns like AA, BB, CC, ... for the module suffix. However, adding and deleting subsystems between IPLs of the system should only be needed relatively infrequently, if at all.
Replacing a Subsystem
The CAIRIM process allows you to delete and re-create a subsystem in the same job execution, thereby "replacing" it. Sample JCL members BGFFW01 and BGTRN01 in CABGSAMP contain two sets of CAIRIM parameters, one to delete the subsystem and one to install a new subsystem with the same name:
PRODUCT(CA DATACOM VSAM/T) VERSION(BG14) INIT(DVCR4PR) -
PARM(DVSSN=CAVT,DELETE) -
LOADLIB(CAI.CHLQ.CUSLIB)
PRODUCT(CA DATACOM VSAM/T) VERSION(BG14) INIT(DVCR4PR) -
PARM(DVSSN=CAVT,SFX=##) -
LOADLIB(CAI.CHLQ.CUSLIB)
As pointed out in the previous section, the suffix specified with the SFX= parameter must be different from any suffix used since the last IPL of the system. If the subsystem to be deleted does not exist, the first set of parameters (the delete) has a return code 8, but the second set of parameters (new subsystem) will nevertheless be executed and install a new subsystem.
Messages and CAIRIM Output
Installation module DVCR4PR produces a set of new messages. These messages are listed and explained in the CA Datacom VSAM Transparency Message Reference Guide. As an example, here is the output from an execution of sample job BGTRN01, which deletes an existing subsystem and then re-installs it with a different suffix:
CAS9115I - INPUT: PRODUCT(CA DATACOM VSAM/T) VERSION(BG14) INIT(DVCR4PR)
CAS9115I - INPUT: PARM(DVSSN=CAVT,DELETE)
CAS9115I - INPUT: LOADLIB(DCMQA.BG14G0.CUSLIB)
DVC0001I - DATACOM DVCR4PR 2012/08/03-1143 14.0 RO48865
DVC0008I - SUBSYSTEM CAVT HAS BEEN DELETED
DVC0004I - DATACOM CAIRIM EXECUTION SUCCESSFUL
CAS9130I - MODULE DVCR4PR COMPLETE, RC=00
CAS9115I - INPUT: PRODUCT(CA DATACOM VSAM/T) VERSION(BG14) INIT(DVCR4PR)
CAS9115I - INPUT: PARM(DVSSN=CAVT,SFX=AC)
CAS9115I - INPUT: LOADLIB(DCMQA.BG14G0.CUSLIB)
CAS9115I - INPUT: LOADLIB(DCMQA.BG14G0.CUSLIB)
DVC0001I - DATACOM DVCR4PR 2012/08/03-1143 14.0 RO48865
DVC0002I - DATACOM DVVSIPR 2012/06/13-1345 14.0 0CC25000
DVC0002I - DATACOM DVVSOPR 2012/06/13-1345 14.0 00C473D8
DVC0002I - DATACOM DVVSCPR 2012/06/13-1345 14.0 00C4D208
DVC0002I - DATACOM DVV39PR 2012/07/17-1444 14.0 RO48399 0CC25000
DVC0002I - DATACOM DVVSSPR 2012/06/13-1345 14.0 RO48399 00C45D48
DVC0002I - DATACOM DVVSUPR 2012/06/13-1345 14.0 RO48399 00C45938
DVS0001I -"CAVT"- DVVSIPR SUCCESSFULLY INITIALIZED (SUFFIX=AC)
DVC0003I - INSTALLATION SUCCESSFUL FOR SUBSYSTEM CAVT 00C94020
DVC0004I - DATACOM CAIRIM EXECUTION SUCCESSFUL
CAS9130I - MODULE DVCR4PR COMPLETE, RC=00
Message DVC0002I shows the maintenance level and load address of the corresponding subsystem module. The suffix "PR" refers to the name of the module in the CA Datacom VSAM Transparency load library, not the name in the LPA. However, message DVS0001I displays the module suffix used.
Message DVC0003I shows the address of the subsystem vector table.
As in Release 2.2, message DVS0001I is crucial. When this message is issued, the subsystem has been installed successfully. Without this message there has been a problem and the subsystem installation was not successful.
If the deletion of a subsystem with the first set of parameters fails, the second set of parameters is still used to create a new subsystem and the condition code for the CAIRIM job is zero. You can be unaware of the failure to delete, unless you check the output, such as the following example:
CAS9115I - INPUT: PRODUCT(CA DATACOM VSAM/T) VERSION(BG14) INIT(DVCR4PR)
CAS9115I - INPUT: PARM(DVSSN=CAVT,DELETE)
CAS9115I - INPUT: LOADLIB(DCMQA.BG14G0.CUSLIB)
DVC0001I - DATACOM DVCR4PR 2012/08/03-1143 14.0 RO48865
DVC0006E - DATACOM CAIRIM ERROR - SSN NOT FOUND CAVT
CAS9140E - INIT ERROR: CA DATACOM VSAM/T VER BG14, INIT ROUTINE RC=0008
CAS9115I - INPUT: PRODUCT(CA DATACOM VSAM/T) VERSION(BG14) INIT(DVCR4PR)
CAS9115I - INPUT: PARM(DVSSN=CAVT,SFX=AD)
CAS9115I - INPUT: LOADLIB(DCMQA.BG14G0.CUSLIB)
DVC0001I - DATACOM DVCR4PR 2012/08/03-1143 14.0 RO48865
DVC0002I - DATACOM DVVSIPR 2012/06/13-1345 14.0 0CC24000
DVC0002I - DATACOM DVVSOPR 2012/06/13-1345 14.0 00C433D8
DVC0002I - DATACOM DVVSCPR 2012/06/13-1345 14.0 00C45548
DVC0002I - DATACOM DVV39PR 2012/07/17-1444 14.0 RO48399 0CC24000
DVC0002I - DATACOM DVVSSPR 2012/06/13-1345 14.0 RO48399 00C41D48
DVC0002I - DATACOM DVVSUPR 2012/06/13-1345 14.0 RO48399 00C45138
DVS0001I -"CAVT"- DVVSIPR SUCCESSFULLY INITIALIZED (SUFFIX=AD)
DVC0003I - INSTALLATION SUCCESSFUL FOR SUBSYSTEM CAVT 00C94EA0
DVC0004I - DATACOM CAIRIM EXECUTION SUCCESSFUL
CAS9130I - MODULE DVCR4PR COMPLETE, RC=00
If the delete function fails for reasons other than the subsystem does not exist, it is possible that the CAIRIM output contains success messages DVC0003I and DVC004I, but the existing subsystem remains unchanged. This situation can be recognized by the absence of messages prefixed with "DVS", specifically message DVS0001I. If this message is not displayed, the new subsystem was not installed successfully. You should always have the output from the CAIRIM subsystem install process available when calling CA Support for any problems.
Load Libraries
The DBLIB statement in the CAIRIM process for Release 2.2 is no longer used with Version 14.0. Instead, the CAIRIM parameters now specify a LOADLIB from which the subsystem modules are loaded. This library must be APF authorized. It is allocated dynamically. However, the old DBLIB and STEPLIB libraries are needed in case of a fallback to Release 2.2.