Recovery of resources in bundles

Resources that are defined in CICS® bundles are not stored in the CSD. BUNDLE resources can be created from a definition and these resources are stored in the catalog. BUNDLE resources can also be created when you install platforms and applications. These resources have no definition, are not stored in the catalog, and are recovered through the application or platform.

Recovery for BUNDLE definitions

On a cold start of CICS, BUNDLE resource definitions are deleted from the catalog and the bundle is not re-created.

On a warm or emergency restart of CICS, during post-initialization processing CICS tries to re-create all the BUNDLE resource definitions that were installed before the restart, and install them in the enablement state that they were in when the CICS region stopped.

For BUNDLE resources that were created from a definition and stored in the catalog, CICS uses the CRLR supplied transaction to start a program that resolves all of the resources that are defined in the bundle manifest, including the dynamic re-creation of all the required CICS resources. Although most dynamically created resources are not defined in the catalog, EVENTBINDING, EPADAPTER, and EPADAPTERSET resources are stored in the catalog.

If CICS is unable to create and enable a resource dynamically, the BUNDLE resource installs in the disabled state and a warning message is issued. Even if only one out of a number of resources fail to install, the BUNDLE resource installs in a disabled state. Use the Bundle Parts view in the CICS Explorer® to view the state of every resource in a BUNDLE resource.

For a standalone BUNDLE resource that contains application entry points, the availability status of the bundle is also recovered during the restart of a CICS region.

Recovery for BUNDLE resources generated by applications and platforms

When you install a platform in a CICSplex, or install an application in a platform, any CICS bundles that are part of the deployment are dynamically created in the appropriate CICS regions by CICSPlex® SM. Each BUNDLE resource is dynamically created and is given a unique name. Each BUNDLE resource also has a BASESCOPE value that contains the name of the platform, the application, and the application version. Because the BUNDLE resources are dynamically created, they do not have equivalent definitions in the CSD and are not stored in the catalog.

The resources that are defined inside each CICS bundle for a platform or application are dynamically created in the CICS regions during the installation of the dynamically created BUNDLE resource. These resources also do not have equivalent definitions in the CSD, and are not stored in the catalog.

When you install an application or platform, CICSPlex SM creates a record for the platform or application in the data repository, which is used in recovery processing for the CICS bundles associated with the platform or application. The CICS bundles for applications are initially installed in the CICS regions in a disabled state. When you enable the application, CICSPlex SM enables the bundles in the CICS regions. When you make the application available, callers can invoke the application through its application entry points.

When you start or restart a CICS region that is defined as part of a platform, CICSPlex SM reads the information in the platform and application bundles in zFS, and installs the appropriate versions of the appropriate CICS bundles into the CICS region. The CICS bundles are installed in the same way during a cold, warm, or emergency restart of a CICS region. The generated resources inside the bundles are installed regardless of the autoinstall status or cataloguing for similar resources in the CICS region that are not part of an application bundle.
  • CICS bundles associated with a platform are installed in the same state as the platform, unless there is a problem with the installation. If the platform is disabled, the CICS bundles associated with it are disabled, and if the platform is enabled, the bundles are enabled
  • If an application version was not enabled before the start or restart of the CICS region, its CICS bundles are installed in a disabled state. If an application version was enabled, its CICS bundles are installed in an enabled state, unless there is a problem with the installation.
  • The availability status of an application version is applied at the start of a CICS region, and is recovered during a restart of a CICS region.

The relationship between a CICS bundle and the CICS regions where it is installed is stored in a management part for the application or platform. The management part is a MGMTPART record that is created automatically during the application install process. The overall status information for an application is derived from the status of the individual management parts for the application. The overall status information for a platform is derived from the status of the region types and the status of the individual management parts for the platform. To check the status for an application or platform, use the Cloud Explorer view in the CICS Explorer.

Recovery of user resources

If a bundle contains a resource type that is handled outside CICS, for example a vendor resource, the bundle registration program must be available during post-initialization programming to register the callback program and re-create the resource type.

If the registration program does not register the callback program or the callback program is not available to re-create the user resources, the BUNDLE resource installs in the disabled state and the user resources install in the unusable state. You must ensure that both the registration and callback programs are available in CICS before discarding and re-creating the BUNDLE resources.

Recovery of files in bundles

When a file that is defined in a CICS bundle is installed, it is added to the catalog. CICS recovers the bundle installed files from the catalog during a warm or emergency restart. These recovered files are used for the CICS recovery only. After CICS completes the recovery, all these files are deleted. When the bundle is re-created, CICS picks up the definition from the bundle directory, and creates a new file. If a file recovered from the catalog has a retained lock, it cannot be deleted on completion of recovery, and as a result, the file becomes orphaned (does not belong to any bundle) and has to be deleted manually after CICS has completed restart.