Upgrading CICS regions

This section summarizes the actions to take to migrate any CICS region from one release to another. Other sections go through the actions to take for other elements of a CICS environment.

Upgrade actions

Upgrade the CICS data sharing servers

You should periodically upgrade the three CICS data sharing servers: temporary storage, coupling facility data table, and named counter. Upgrade the data sharing servers before you upgrade the clients. As a result, a new server should always support old clients in a fully compatible way, including mixtures of client levels. Although such upgrades are not a requirement if no functional changes were made in the new release of the product, it is still advisable to upgrade the shared data servers to the new release. After you upgrade the shared data servers, CICS can then be upgraded as a client of the servers.

APF-authorize the CICS activation modules

CICS® TS V5 introduced activation modules for each edition: base, Developer Trial, and Value Unit Edition. At the start of upgrading your regions, you must:
  • AFP-authorize the SDFHLIC or SDFHVUE library.
  • Add the SDFHLIC or SDFHVUE library in the STEPLIB of the CICS TS JCL.
  • If you use coupling facility data table servers, temporary storage servers, region status servers, or named counter servers, also add the SDFHLIC or SDFHVUE library to the STEPLIB of the JCL for each server.

Redefine and initialize the local and global catalogs

For each CICS region, you must delete, redefine, and initialize the DFHLCD and DFHGCD data sets:
  • Delete your existing data sets.
  • Define and initialize new local and global catalogs, following the instructions in Defining the global catalog and Defining the local catalog. Make sure that you use the DFHRMUTL and DFHCCUTL utility programs or the CICS-supplied JCL DFHDEFDS from your target version of CICS TS.
  • Start the CICS regions with an initial start, by using the START=INITIAL parameter.

Enable z/OS conversion services

Optionally, at the start of upgrading your regions, to obtain the benefits of z/OS® conversion services for data conversion, enable the z/OS conversion services and install a conversion image that specifies the conversions that you want CICS to perform. For example, your system might require support for the conversion of UTF-8 or UTF-16 data to EBCDIC.

For the instructions to set up and configure conversions that are supported through the operating system services, see z/OS Unicode Services User's Guide and Reference.

If z/OS conversion services are not enabled, CICS issues a message. If such a message is issued when you start a CICS region that is expected to use the z/OS conversion services, an IPL is necessary to enable these services. If you do not need the z/OS conversion services, you can suppress that message.

Upgrade the CSD

If you have resource definitions in your CSD that support other IBM® products, such as z/OS, you might also need to upgrade these definitions when you start the upgrade of your regions. If you need to share your upgraded CSD with different CICS releases, the CSD must be at the highest release, and compatibility groups must be specified in the correct order. For more information, especially if you are using DFHLIST, see CSD compatibility between different CICS releases.

To upgrade the CSD, you have two alternatives:
  1. Upgrade the CICS-supplied definitions in your CSD to the latest level: run the DFHCSDUP utility program with the UPGRADE command.
  2. Define a new CSD by using DFHCSDUP INITIALIZE command.

In CICS TS 4.2 or earlier, if you have the Language Environment (LE) resource definitions in your CSD that support other IBM products, upgrade these definitions as required. For example, if you upgrade the z/OS release, you must upgrade your LE resource definitions to the new z/OS level by deleting and replacing the CSD group that contains them. The LE resource definitions are in the SCEESAMP library in member CEECCSD. Figure 1 is an example of how to delete and replace the CSD group that contains the LE definitions. For CICS TS 5.1 and later, this action is not required because the LE definitions are system-autoinstalled by CICS, provided that the required maintenance that adds autoinstall capability for LE definitions is applied. For CICS TS 5.3, the required maintenance is PTF UI42574.

Figure 1. Sample job for additional CSD modification
//JOBNAME  JOB 1,userid,
//         NOTIFY=userid,CLASS=n,MSGLEVEL=(n,n),MSGCLASS=n 
/*JOBPARM SYSAFF=sysid                                   
/*  Remove Old Language Environment group               
//CSDUP1   EXEC PGM=DFHCSDUP,REGION=2M,PARM='CSD(READWRITE)'
//STEPLIB  DD DSN=CICSTS53.CICS.SDFHLOAD,DISP=SHR 
//DFHCSD   DD DSN=CICSTS53.CICSHURS.DFHCSD,DISP=SHR
//SYSPRINT DD SYSOUT=*     
//SYSABOUT DD SYSOUT=*     
//SYSABEND DD SYSOUT=*     
//SYSUDUMP DD SYSOUT=*     
//SYSIN    DD *  
 DELETE GROUP(CEE)         
/*                         
//*                        
//CSDUP2   EXEC PGM=DFHCSDUP,REGION=2M,PARM='CSD(READWRITE)' 
//STEPLIB  DD DSN=CICSTS53.CICS.SDFHLOAD,DISP=SHR 
//DFHCSD   DD DSN=CICSTS53.CICSHURS.DFHCSD,DISP=SHR
//SYSPRINT DD SYSOUT=*        
//SYSABOUT DD SYSOUT=*        
//SYSABEND DD SYSOUT=*        
//SYSUDUMP DD SYSOUT=*         
//SYSIN    DD DSN=SYS1.ZOS113.SCEESAMP(CEECCSD),DISP=SHR
/*                                                           
//                               

Upgrade user-modified, CICS-supplied resource definitions

If you modified any of the CICS-supplied resource definitions in your current release of CICS TS, you must upgrade them at the start of upgrading your regions. This action ensures that they are defined correctly with any new values or attributes.

To upgrade the CSD, you have two alternatives:
  1. Confirm whether your CSD contains any user-modified, CICS-supplied resource definitions. Use the DFHCSDUP SCAN command to compare the CICS-supplied resource definitions with any user-modified versions. The DFHCSDUP SCAN command searches for the CICS-supplied version of a specified resource name of a specific resource type and compares it with any other resource definition of the same name and type. DFHCSDUP reports any differences between the CICS-supplied definition and a user-modified version. If you copied and changed the name of a CICS-supplied definition, the SCAN command allows you to specify the changed name as an alias.
  2. Copy the upgraded CICS-supplied definitions and reapply your modifications. This method is the safest way to upgrade your definitions. This action is necessary because the DFHCSDUP UPGRADE command does not operate on your own groups, or on CICS groups that you copied.
  3. If the CICS region uses CICSPlex® SM, manually upgrade any of the dynamically created CICSPlex SM resource definitions that you modified in your previous release, by using the equivalents in Version 5.3. The dynamically created resource definitions and their attributes are in the following members of the SEYUSAMP sample library:
    • EYU$CDEF contains the default resource definitions for a CMAS.
    • EYU$MDEF contains the default resource definitions for a MAS.
    • EYU$WDEF contains the default resource definitions for a WUI server.

Upgrade your copies of CICS-supplied resource definitions

When you start to upgrade your regions, if you made copies of CICS-supplied resource definitions, you might need to change your copies to match the changes that are made to the supplied definitions for this release. DFHCSDUP UPGRADE does not operate on CICS groups that you copied. To help you, member DFH$CSDU in library SDFHSAMP contains ALTER commands that you can apply by using the CSD utility program DFHCSDUP.
  1. Review your resource definitions to determine whether you copied any CICS-supplied definitions.
  2. Review DFH$CSDU to determine whether the changes that it contains apply to your resource definitions.
  3. Make any necessary changes to DFH$CSDU. It is advisable to make a copy of DFH$CSDU and apply any changes to the copy.
  4. Run DFHCSDUP with your modified version of DFH$CSDU as input. As supplied, the ALTER commands in DFH$CSDU specify GROUP(*), which means that DFHCSDUP attempts to change resources in the CICS-supplied groups. This action is not permitted and results in message DFH5151. You can ignore this message.
As an example, program DFHD2EDF is now defined as CONCURRENCY(THREADSAFE). Therefore, DFH$CSDU contains the following command:
ALTER PROGRAM(DFHD2EDF) GROUP(*) CONCURRENCY(THREADSAFE) 

When you run DFHCSDUP, the attribute is added to the definitions of program DFHD2EDF in all groups. Other attributes that are not mentioned in DFH$CSDU are unchanged.

Reassemble all your macro tables

When you start to upgrade your regions, all your macro tables must be reassembled by using the macros that are supplied with the new release. During CICS initialization, CICS detects whether a macro table is not reassembled, so issues a message DFHLD0110, or DFHFC0110 for File Control table (FCT), and CICS terminates.

Review DSA size limits

It is not advisable to set the size of individual dynamic storage areas (DSAs), and usually it is not necessary. However, it is possible to set the size of some DSAs by using the CDSASZE, UDSASZE, RDSASZE, ECDSASZE, EUDSASZE, ESDSASZE, and ERDSASZE system initialization parameters. For example, CDSASZE sets the size of the CICS dynamic storage area (CDSA), and ECDSASZE specifies the size of the extended CICS dynamic storage area (ECDSA). The default value for all these parameters is 0, indicating that the size of the DSA can change dynamically. If you specify a nonzero value, the DSA size is fixed.

If you want to set DSA size limits, you must do so for each CICS region, as necessary. The limit of storage that is available for DSAs in 24-bit storage is specified by the DSALIM SIT parameter. Allow at least 256 KB for each DSA in 24-bit storage for which you have not set a size. The limit of storage available for DSAs in 31-bit storage is specified by the EDSALIM SIT parameter. Allow at least 1 MB for each DSA in 31-bit storage for which you have not set a size. You cannot set individual DSAs in 64-bit storage.

If you specify DSA size values that, in combination, do not allow sufficient space for the remaining DSAs, CICS fails to initialize.

Review MEMLIMIT

Review your calculation of the value of the z/OS MEMLIMIT parameter to make sure that it provides sufficient 64-bit (above-the-bar) storage for the upgraded CICS region. For more information, see Estimating, checking, and setting MEMLIMIT.

Migrate the DFHLRQ data set

If outstanding BTS activities for BTS processes exist in CICS, you migrate the contents of your local request queue data set, DFHLRQ. You can use a utility such as IDCAMS COPY to update the new data set with the contents of the DFHLRQ data set from your current release. You must apply this to each CICS region, as necessary.

Upgrade programs that process policy events

For CICS TS for z/OS, Version 5.1 to Version 5.3 with the PTF for APAR PI83667 applied, the order of the capture data items in policy events is changed. Therefore, you must upgrade any programs that process policy events as follows:

  • Recompile any program that processes CFE format policy events that are emitted by the IBM MQ Queue, TD Queue, or TS Queue EP adapters.
  • Modify any program that is started by the Transaction Start EP adapter, or any custom EP adapter, to change the container names that are referenced in the source to pick up each capture data item. The following table lists the changes to the container names for each capture data item in CICS TS for z/OS, Version 5.1 to Version 5.3 with the PTF for APAR PI83667 applied:
    Capture data item name Container name in previous releases Container name in V5.1 to V5.3 with the PTF for APAR PI83667 applied
    policy_name DFHEP.DATA.00001 DFHEP.DATA.00006
    rule_name DFHEP.DATA.00002 DFHEP.DATA.00007
    rule_type DFHEP.DATA.00003 DFHEP.DATA.00009
    rule_category DFHEP.DATA.00004 DFHEP.DATA.00022
    rule_operator DFHEP.DATA.00005 DFHEP.DATA.00023
    rule_threshold DFHEP.DATA.00006 DFHEP.DATA.00024
    current_count DFHEP.DATA.00007 DFHEP.DATA.00025
    platform_name DFHEP.DATA.00008 DFHEP.DATA.00016
    application_name DFHEP.DATA.00009 DFHEP.DATA.00017
    application_version_major DFHEP.DATA.00010 DFHEP.DATA.00018
    application_version_minor DFHEP.DATA.00011 DFHEP.DATA.00019
    application_version_micro DFHEP.DATA.00012 DFHEP.DATA.00020
    operation DFHEP.DATA.00013 DFHEP.DATA.00021
    bundle_name DFHEP.DATA.00014 DFHEP.DATA.00010
    bundle_version_major DFHEP.DATA.00015 DFHEP.DATA.00011
    bundle_version_minor DFHEP.DATA.00016 DFHEP.DATA.00012
    bundle_version_micro DFHEP.DATA.00017 DFHEP.DATA.00013
    bundle_id DFHEP.DATA.00018 DFHEP.DATA.00014
    task_id DFHEP.DATA.00019 DFHEP.DATA.00002
    transaction_id DFHEP.DATA.00020 DFHEP.DATA.00003
    user_id DFHEP.DATA.00021 DFHEP.DATA.00004
    program_name DFHEP.DATA.00022 DFHEP.DATA.00005
    policy_user_tag DFHEP.DATA.00023 DFHEP.DATA.00015
    For more information about the capture data items, see Data captured for a policy event.