SB78-5C abend starting CA Dispatch after z/OS upgrade - CVKEY Change Required
search cancel

SB78-5C abend starting CA Dispatch after z/OS upgrade - CVKEY Change Required

book

Article ID: 11361

calendar_today

Updated On:

Products

Dispatch Output Mgmt

Issue/Introduction

You've applied the necessary z/OS compatibility maintenance to CA Dispatch.

You're attempting to start CA Dispatch after upgrading to z/OS release 2.4 or higher, and you receive a SB78-5C abend in the Dispatch started task.

What caused this abend and how can it be prevented?

Environment

CA Dispatch release 11.6 or 11.7
z/OS
z/OS release 2.4 or higher
ALLOWUSERKEYCSA(NO)
CVKEY=08

Cause

The abend is due to the CVKEY used to run the CA Dispatch product and it's related components. By default, the CA Dispatch programs use CVKEY=8.

If DIAGxx parmlib statement VSM ALLOWUSERKEYCSA(NO) is specified, CA Dispatch customer sites MUST change the default storage protection key being used by the Dispatch programs, in order to avoid the SB78-5C abend .

A storage protection key of 0 through 7 can be used in a ALLOWUSERKEYCSA(NO) environment. The ca/Broadcom Dispatch Support team recommends that our customers use a Storage Protection Key of 4 (CVKEY=4) for the Dispatch related programs. Refer to IBM documentation for additional information on Storage Protection Key usage.

Affected CA Dispatch programs are: CAISYS01, XTARMAIN, XTEXMAIN, and any Online Viewing Only (OLVO) region programs such as CAIOLV01, CAIOLV02, etc...

Note:

The immediate approach to resolving the SB78-5C abend used to be to set DIAGxx parmlib member with ALLOWUSERKEYCSA(YES). However, this is no longer permitted under current releases of z/OS.

Resolution

Use the following procedures to change the CVKEY used by CA Dispatch, add the appropriate Program Property Table (PPT) entries, and reload the updated CADSSVC module into memory:


Change the CA Dispatch CVKEY

 
The default CA Dispatch storage protection key can be changed to do the following:
 
■ Improve storage protection for shared storage used for communication between CA Dispatch and external tasks
■ To specify a system key to operate CA Dispatch in z/OS systems that are using the ALLOWUSERKEYCSA(NO) option.
 
Member DSINSVC or ADSJSVC in CAI.CADSJCL provides a user modification to update the CA Dispatch SVC routine with the new CVKEY. After applying the user modification, update and apply PPT entries that direct z/OS to run CA Dispatch jobs in the storage protection key specified by CVKEY.
 
To install the CA Dispatch SVC outside of SMP/E and link into a separate load library, use member ADSJSVC in CAI.CADSJCL. Customize the ADSJSVC source code the same as you would for DSINSVC.
 

Assign PPT Entries
 
You must assign PPT entries for at least three CA Dispatch programs. If you are running an online viewing only region, you must define a PPT entry for the program specified in the OLVO region in CAI.CAIJCL member DSEXVDS. Use the following definitions:
 
/* Define storage key for the main CA Dispatch program */
PPT PGMNAME(CAISYS01)
KEY(x) /* <--- Use key specified in CVKEY=x */
PRIV
CANCEL
SYST
AFF(NONE)
NOSWAP
/* Define storage key for the external archive program */
PPT PGMNAME(XTARMAIN)
KEY(x) /* <--- Use key specified in CVKEY=x */
CANCEL
AFF(NONE)
/* Define storage key for the external extract program */
PPT PGMNAME(XTEXMAIN)
KEY(x) /* <--- Use key specified in CVKEY=x */
CANCEL
AFF(NONE)
/* Define storage key for Online Viewing Only region */
PPT PGMNAME(xxxxxxxx) /* <--- Specify name from DSEXVDS */
KEY(x) /* <--- Use key specified in CVKEY=x */
PRIV
CANCEL
SYST
AFF(NONE)
NOSWAP
 
There are two methods you can use to define these PPT entries to the system:

■ Define them in a separate SCHEDxx member in your PARMLIB,
 
The primary advantage of using a separate SCHEDxx member is you do not have to update your PARMLIB to remove the names dynamically. Just use a SET SCH=00 command.

■ Add them to the SCHEDxx member you are presently using.
 
After the PPT entries have been defined, run CAIRIM to load the updated SVC routine in place of the CA Dispatch SVC routine loaded when CAIRIM was run during system initialization.
 

Load the New SVC
 
If you intend to install the updated SVC as part of your next IPL, you do not have to alter the CAS9 or CAIRIM task that initializes many CA products.
If you intend to update the SVC dynamically, prepare a custom job that looks like the following job.
 
//xxx JOB ....
//CAIRIM EXEC PGM=CAIRIM
//STEPLIB DD DISP=SHR,DSN=library-containing-CA-Common-Svcs
// DD DISP=SHR,DSN=library-containing-new-CADSSVC
// DD DISP=SHR,DSN=library-containing-CA Dispatch
//PARMLIB DD *
PRODUCT(CA DISPATCH) VERSION(DSB7) INIT(DSINIT) PARM(CADSSVC)
//AUTOCMDS DD DUMMY
//KEYS DD DUMMY
 
The data specified in the VERSION parameter must change each time the CAIRIM program is run for each system IPL so that CAIRIM will actually load the new SVC routine. Typically, you specify DSB7 for the first run after an IPL, DSBA the second time, and so on.
 
You can start CA Dispatch using your normal startup procedure after the new SVC routine is installed by CAIRIM.
 
* See NOTE in Additional Information section of this article.

Additional Information

Above process taken from the CA Dispatch Installation Guide, available for download from the legacy CA Dispatch documentation bookshelf:

- Step 14A - "Change the CA Dispatch CVKEY
- Step 14C - "Load the New SVC"

** NOTE **

- If you are only implementing the CVKEY change, then no IPL is required, and you can Load the New SVC as documented in the resolution section of this article.
 
- In order to implement any z/OS compatibility changes, (If you are doing this at the SAME TIME as the CVKEY change), you will need to clear the previously loaded CADZSPLx related modules out of memory and reload them. This can be done in either of 2 ways:

1. A system IPL will clear and reload the CADZSPLx related modules.
2. If you are not going to IPL, perform the SVCREDO process as documented in Article Id: 10968