Change in z/OS Data Set Open from BDAM to EXCP

Document ID : KB000055660
Last Modified Date : 14/02/2018
Show Technical Document Details

Prior to r11 SP2 of Advantage CA-Datacom/DB Database, a single volume data set was opened with an option of MACRF=(E) indicating EXCP, whereas a multiple volume data set was opened with an option of MACRF=(RI) indicating BDAM. The change provided in r11 SP2 will simply open multiple volume data sets using EXCP, one volume at a time. This should not negatively affect performance.

The reason this change was necessary is that z/OS 1.7 provides a new ability to have individual extents that are larger than 65,535 tracks, provided that the data set was not opened with BDAM. So, users of r11 SP2 will have the ability to use these large (over 65,535 track) data sets.

As part of this new enhancement, several new messages were added. Some of these messages will occur normally during open processing, while others will only be produced when a new MUF option is specified.

New message produced as needed during data set open processing:

DB01405I - DATA SET VOLUME IGNORED, NOT CHAINED - ddname volser n OF n

The message is new, but the condition is not. Some background is needed to explain the message.

Each DASD volume has a VTOC with an entry for each data set on the volume. It also has the extent information for this volume and a switch indicating if this is the last volume of the data set or not.

The catalog is normally in sync with the volume information, but it is completely independent and is not always in full agreement. Sometimes they are out of agreement because of specific user action such as a manual uncatalog or catalog of a data set. Sometimes they do not agree because of some type of failure between the time one is updated and before the other would have been normally updated.

A volume must be in the catalog or the JCL to be available for open processing.

If, when processing a data set open, the current volume being processed indicates it is the last volume, any additional volumes allocated for the data set can not contain valid extents for the data set (even though a user could have manually built a data set with the same name).

This message will occur during CA-datacom open processing for every volume in the catalog or JCL that occurs after the VTOC entry indicates that this is the current last volume of the data set. This condition is not considered normal, but some users do use this process. An example of why this might be done is the following case:

  • A data set currently on two volumes, A and B, with volume B having 4 extents and some free space.

  • Volume B is fully available for dynamic extends of the area should it become full. During a dynamic extend, space will be requested on the current last volume and the catalog. If volume B has space and less than 16 extents they are allocated.

  • If volume B has no space and the catalog still has only volumes A and B, the application will get an error that the area is full.

To prevent this condition, some users manually uncatalog the data set from volumes A and B and recatalog it with volumes A, B, and C (and possibly more). At open time, CA-Datacom/DB knows of no legal space on volume C and will not open the volume, issuing the message listed above. However, the volume will be available for dynamic extends if volume B becomes full or reaches the 16 extent limit.

The scenario above will not occur if the data set was defined with a group name that allows a pool of volumes, such as an allocation of UNIT=(SYSDA,12). An INIT with this ability with a DISP=NEW will cause a single specific volume to be found within the pool, such as volume K, for example. As EXTEND functions or dynamic extends are done, additional extents will be added on volume K until it is full or at the 16-extent maximum per data set. At this time, another volume in the pool is usable for this data set without intervention. Volumes that are not assigned specifically are not treated as part of the data set and are reported in the CXX report as having a VOLSER of '*'. The above message will not occur for these available potential volumes. This process is similar to SMS managed volumes.

As part of this change, the Multi User Facility (MUF) has changed a default of not using a dynamic TIOT entry for dynamic DD statements to using dynamic entries. This should be a benefit to users with many data sets and present no negative actions.

To make the process easier to understand, a new optional MUF startup option has been provided that generates additional messages during open processing to fully document each extent that is being opened.

To generate the optional message, specify the new MUF startup option X_OPEN_CLOSE_MSGS with a parameter value of "ON" or issue the MUF console command "OPEN_CLOSE_MSGS ON".

Once the option is set, messages will be issued each time a volume of a data set is opened or closed.

Message examples:

DB01404I - DATA SET OPENED, CXX DCMQAB 1 OF 1 EXT 1 TRK 500
DB01404I - DATA SET OPENED, LXX DCMQAC 1 OF 1 EXT 1 TRK 2,500
DB01404I - DATA SET OPENED, FXX DCMQAD 1 OF 1 EXT 1 TRK 30 
DB01404I - DATA SET OPENED, IXX1006 DCMQAB 1 OF 1 EXT 1 TRK 5
DB01404I - DATA SET OPENED, CBS1006 DCMQAB 1 OF 1 EXT 1 TRK 5 

The message provides the data set name, volume, volume order, number of extents on the volume, and number of tracks on the volume.