Abends caused by multi UNIT and multi VOL

book

Article ID: 144510

calendar_today

Updated On:

Products

CA Allocate DASD Space and Placement

Issue/Introduction

Good afternoon,


We are having issues to extend a multi-volume file using those JCL statements:

We had a B37 doing so.  We have a rule that is doing some calculation of the secondary space:

it went from 2187 TRKs:

to 16777215 trks:

it looks like it the number got negative to go from 2187 to 16777215 TRKs.  It's pretty weird.

We got those error messages in the JOBLOG also:

044E0097 is for:

DIAGNOSTIC INFORMATION IS (044E0097):

X'04' X'4E' X'00' X'97' Requested space exceeds 65535 tracks for a

data set type that is limited to 65535 tracks per

volume. Striped (extended format), PDSE, VSAM,

and HFS data sets can exceed 65535 tracks.

I can send you the joblog for you to check.  do you know what can be the problem?

Regards,

Martin Beaulieu

Environment

Release : 12.5

Component : CA Allocate DASD Space and Placement

Resolution

Users often think that to prevent space related abends they should code: 

UNIT=(SYSDA,n), to assign multiple UNITs, or:
VOL=SER=(xxxxxx,xxxxx), to assign multiple volumes.

Either of these parms with multiple values will cause “candidate” volumes to be assigned which will be processed by DADSM, as long as candidates are available, and NOT by EOV or EOV_VSAM.  These values often cause B37 abends.

You should not specify multiple VOLs or UNITs so that CA Allocate EOV or EOV_VSAM can add additional volumes to the allocation when needed.

Simple ASRs can change these multiple values.  For background on this, please see these sections of the CA Allocate User Guide:

See NUNIT, about pg 484.
The NUNIT variable initially contains the number of units specified for the allocation.
For JCL allocations in ALLOC or DEFINE, if UNIT=(3390,5) is specified, NUNIT contains a value of 5.

See NVOL, about pg 485
The NVOL variable initially contains the number of volume serial numbers specified for the allocation. If VOL=SER=(VOL001,VOL002) is specified in the JCL, NVOL contains a value of 2.

The following simple ASRs can be added in the ALLOC and DEFINE Environments to modify the multiple VOLs or UNITs that may have been specified in the JCL:

  IF &NVOL  GT 1 THEN SET &NVOL  = 1
  IF &NUNIT GT 1 THEN SET &NUNIT = 1

With these values specified, this will insure that EOV or EOV_VSAM will be invoked for every volume needed (if your ASRs allow).

Vkgparm PLSOPT24 (N) (default) would appear to help when multiple units or volumes are specified.

The description is: Launch EOV_VSAM even if candidate is available. 

This is “technically” correct – the environment is launched.  However, if a candidate volume is still available, EOV_VSAM will not assign another volume.

Additional Information

If you have any questions, please contact CA Allocate Technical Support.