IDMS CV setup for ALLOWUSERKEYCSA(NO) clarification
search cancel

IDMS CV setup for ALLOWUSERKEYCSA(NO) clarification

book

Article ID: 117597

calendar_today

Updated On:

Products

IDMS IDMS - Database IDMS - ADS

Issue/Introduction

This article describes and clarifies steps needed and/or recommended if you are using ALLOWUSERKEYCSA(NO)

IBM will soon be making ALLOWUSERKEYCSA not optional and it will be set to ALLOWUSERKEYCSA(NO).
This means that certain steps must be taken for  IDMS CVs in order to avoid B78-5C abends at startup.

Environment

IDMS, all supported releases.

Resolution

IDMS will have to be configured to run in a non-user KEY - that is, one in the range 1 to 7. We recommend using 4.
To accomplish this, you must take the following three steps.

1. STEPLIB must be authorized and must contain RHDCTCKR, RHDCCKUR, RHDCOMVS and any other aliases if they are used for RHDCOMVS in the EXEC= statement in your startup JCL (e.g. IDMSDC).
The easiest way to achieve this is to include only the IDMS software library (that which is provided as CAGJLOAD at installation) in STEPLIB and authorizing it.
It is also possible to create a separate library with only those modules in it (IDMS loads everything else from CDMSLIB), but that just provides an administrative overhead.

(Note: If STEPLIB contains more than one loadlib, then all of those loadlibs must be authorized for the entire STEPLIB ddname to be considered authorized. Note also that there is never any good reason to have more than one loadlib in STEPLIB. See KD 140728: What must be in STEPLIB of an IDMS CV? for a description of the minimum requirements for STEPLIB.)

2. Create a PPT entry in the appropriate SYS1.PARMLIB(SCHED..) member for your startup module identifying the key.
For example:

PPT PGMNAME(RHDCOMVS) ,KEY(4),NOSWAP


3. Specify STEP=Y on the EXEC= statement in your startup JCL.
For example:

//IDMS      EXEC PGM=RHDCOMVS,REGION=0M,TIME=1440,PARM='STEP=Y'


You may also want to re-create your SVC with CVKEY=4 in #SVCOPT instead of CVKEY=*, but this is not necessary if your SVC was created with #SVCOPT parameter CVKEY=* ..
If your SVC has been created with an #SVCOPT with CVKEY=n where n is a number, then the SVC will check that the CV is running in that particular key, and if it isn't, the CV will abend with an SEnn abend code where nn is the number of the SVC in hexadecimal.
If your SVC has been created with CVKEY=*, no such check is performed.
Changing your SVC would only be necessary if it had already been created with CVKEY=n where n is a number other than the one which you specified in the PPT entry.

Additional Information

Storage Key Considerations for z/OS CSA Subpools