The new resource in V3.2 delivers a “dynamic” DFHRPL where load libraries can be concatenated and available to any CICS region and subsequently removed, if necessary. The most valuable objective of any installation is the ability to remove or de-allocate a library from a running region without having to take down or terminate the region. The obvious reason for this action would be when a library became unusable or fragmented and required a “compress” or some other action to repair the library. In all previous releases of CICS, this condition would require the CICS region—or all CICS regions—that contained this library in the concatenation to be terminated before the library would be de-allocated and therefore available for maintenance. With the Library resource definition, these libraries can be installed and removed without impacting the running regions.
If you do nothing, therefore not creating and installing any library resources, you will see the following message at region start-up:
DFHLD0555 I 12/14/2008 13:24:06 applid Current LIBRARY search order follows.
DFHLD0556 I 12/14/2008 13:24:06 applid Position in search order: 1, LIBRARY: DFHRPL.
This tells you that your DFHRPL concatenation in the region is the only list of libraries currently being used. In a typical configuration, the DFHRPL libraries would be the CICS product libraries, perhaps vendor product libraries and application program libraries. If you decided to move some of those libraries into Library RDO (Resource Definition Online) definitions, you could choose to place them before or after the static DFHRPL libraries. CICS allows you to assign “rankings” to these library resources, which determines the order in which they will be searched by the Loader when the program is called. The default ranking for DFHRPL is 10, so if you want a library to be searched prior to DFHRPL, you would assign it a ranking of less than 10. Conversely, any library with a ranking higher than 10 would be searched after DFHRPL.
Library resources can be defined via the CEDA facility just like any other resource. When created, messages are written to the CICS log to show creation and status of the resource. Since any Library definition can contain up to 16 entries, the message will show the contents or ‘---‘,indicating that sequence hasn’t been used. For example:
DFHLD0501 I 12/15/2008 12:39:43 applid 2664 CEDA LIBRARY TEST is being installed with status Enabled.
DFHLD0502 I 12/15/2008 12:39:43 applid 2664 CEDA Install of LIBRARY TEST has completed successfully. Enablement status is Enabled.
DFHLD0505 I 12/15/2008 12:39:43 applid Details for LIBRARY TEST, ranking: 50,
DFHLD0506 I 12/15/2008 12:39:43 applid Details for LIBRARY TEST, data sets 1-8: CICS.SDFHLOAD.TEST, ---, ---, ---, ---, ---, ---, ---.
DFHLD0507 I 12/15/2008 12:39:43 applid Details for LIBRARY TEST, data sets 9-16: ---, ---, ---, ---, ---, ---, ---, ---.
After the list of entries, the current search order for this region will be displayed. In this example, the libraries contained in group TEST are concatenated after DFHRPL, since it was defined with a ranking of 50:
DFHLD0555 I 12/15/2008 12:39:43 applid Current LIBRARY search order follows.
DFHLD0556 I 12/15/2008 12:39:43 applid Position in search order: 1, LIBRARY: DFHRPL.
DFHLD0556 I 12/15/2008 12:39:43 applid Position in search order: 2, LIBRARY: TEST.
Since this new facility creates a “dynamic” DFHRPL, it also can be modified at any time to remove an entry. If you set the Library resource to DISabled status, it will produce the following messages:
DFHLD0524 I 12/15/2008 12:43:49 applid 2664 CEMT LIBRARY TEST has been disabled.
DFHLD0555 I 12/15/2008 12:43:49 applid Current LIBRARY search order follows.
DFHLD0556 I 12/15/2008 12:43:49 applid Position in search order: 1, LIBRARY: DFHRPL.
In addition to being disabled, the resource also is de-allocated from the region, allowing maintenance to be performed on the library without affecting availability of the CICS region. This long-standing customer requirement is a welcome feature.
Another feature of this new facility is the failover capability in that CICS regions aren’t subject to the availability, or even existence of the physical file. In the past, if libraries in the DFHRPL concatenation were inadvertently deleted while CICS was down, any CICS region with that library in the JCL would fail with a JCL error at start-up. Installations don’t typically delete their test libraries, but it can happen and has a direct impact on availability. Any libraries in the new LIB resource definitions can be designated NONCRITICAL and therefore don’t affect the availability of the region. Of course, designating a library CRITICAL has the reverse effect. DFHRPL libraries are always designated CRITICAL and the region won’t start without them. Any LIB resources that are designated CRITICAL and are unavailable at start-up will produce a WTO (Write to Operator) message asking ‘REPLY GO or CANCEL’. At that time, an operator can reply GO to continue the start-up of the region. The LIB resource is marked DISABLED and manual intervention must take place before the library is made available to the running region. From an availability perspective, however, there’s no comparison to getting the region available with just that one resource unavailable.
The only restriction in this facility is any program that’s executed in Stage 1 DFHPLT (Program List Table) processing. In the start-up PLT, CICS has Stage 1 and Stage 2. According to the CICS TS 3.2 Customization Guide:
“Dynamic LIBRARY resources will be installed, or restored and re-activated, after first stage PLT programs run, but before second stage PLT programs run. This means that first stage PLT programs must be included in data sets in DFHRPL, but second stage PLT programs can be included in, and loaded from dynamic LIBRARY resources.”
There are very few that fall into this category, but check your PLTPI (Program List Table Program Initiation) and see if the contents may impact you when implementing Dynamic RPL.
Summary
There are many enhancements to CICS TS V3.2, but the dynamic RPL feature delivered by the Library resource is easy to use and provides a great payback in availability. If you need any incentive to migrate to V3.2, this could be the one.