Refreshing the in-storage CKDS using a utility program

This topic describes how to use the CSFEUTIL program to refresh an in-storage CKDS.

  1. Invoke the program from a batch job or from another program.
  2. You pass the same parameters whether you call the program as a batch job or from another program.
  3. Pass the names of the CKDSs to perform the task and the name for the task. When you invoke the utility program from another program, General Register 1 must contain a pointer to the address of a data area whose structure is as follows:
       Bytes 0-1: Length of the parameter string in binary
       Bytes 2-n: The parameter string

    The parameter string is the same as that which you would specify using the PARM keyword on the EXEC JCL statement if you invoked the program as a batch job.

  4. To refresh an in-storage CKDS, pass these parameters in this order:
    • The name of the disk copy of the CKDS that you want read into storage
    • The name for the task: REFRESH
  5. To refresh the CKDS using JCL, use JCL like this example:
    //STEP EXEC PGM=CSFEUTIL,PARM='NEW.CKDS,REFRESH'

    The first parameter passed, NEW.CKDS, is the name of the disk copy of the CKDS that you want read into storage.

Note: If a CKDS refresh is to be performed on a CKDS which is shared by members of a sysplex, dynamic CKDS updates should be disabled on all sysplex systems until the master key has been changed and the newly reenciphered CKDS is active on all systems sharing the CKDS

When you invoke the program as a batch job, you receive the return code in a message when the job completes. You do not receive a reason code with the return code. When the program is invoked from another program, the invoking program receives the reason code in General Register 0 along with the return code in General Register 15. The return codes and reason codes are explained in Return and reason codes for the CSFEUTIL program.