Page 1 of 1

How to create MULTIVOL dataset

PostPosted: Fri Dec 24, 2010 9:36 am
by fornanthakumar
Hi,

In my JCL, i have an IEBRF14 step to create two datasets. PFB for your reference.

//HMSTRTUP1  DD DSN=YRHMLNB.TEMP.HMSTRATM,DISP=(,CATLG,DELETE),
          DCB=(RECFM=FB,LRECL=2571,BLKSIZE=0),             
          UNIT=SYSDA,SPACE=(CYL,(10,5),RLSE)               
//HMSTRTUP2  DD DSN=YRHMLNB.HMSTRTGY.MONTHLY.BKP1223,DISP=(,CATLG,DELETE),
          DCB=(RECFM=FB,LRECL=2571,BLKSIZE=0),                 
          UNIT=SYSDA,SPACE=(CYL,(10,5),RLSE)   


While copying data from first to second, i have encountered SB37 ABEND. While looking in 3.4 listing the first dataset was created as MULITI VOLUME dataset but the second did not...

YRHMLNB.HMSTRTGY.MONTHLY.BKP1223 SDD257
YRHMLNB.TEMP.HMSTRATM SDW016+

Can you please anyone tell me , how to create MULTIVOL dataset? Here i am wondering although all the parameter were same except the name, one got created as MULTIVOLUME dataset and other wont..

Re: How to create MULTIVOL dataset

PostPosted: Fri Dec 24, 2010 10:21 am
by dick scherrer
Hello,

Suggest you talk with your storage management people. Your issue may be more than a simple jcl syntax issue.

As you specified RLSE, the job that wrote data into the first file most likely caused the multi-volume. What is the jcl for the step that actually put data in file 1 (and file 2 for that matter)?

Re: How to create MULTIVOL dataset

PostPosted: Fri Dec 24, 2010 10:49 am
by NicC
Multi-volume datasets are not created through JCL. They are created when the I/O subsystem runs out of space on one volume, still has allocations (as specified by the SPACE JCL parameter) left and so it finds space on another volume. The B37 could be caused by the I/O system having to use small amounts of space for some allocations as that is all there is on a volume whereas when your first file was created it found larger chunks. When an extent is allocated it will use up 1 allocation but the amount of space need not be he full amount as specified in the JCL.

Re: How to create MULTIVOL dataset

PostPosted: Fri Dec 24, 2010 11:42 am
by steve-myers
Your system may have a product that automatically extends an allocation to an additional volume. The last place I worked at had one of these products installed; sometimes it seemed to work, sometimes not, so it was rather annoying. For all I knew, it could have been standard SMS.

As NicC said, multi-volume data sets are not directly created through JCL, though you can use JCL to limit the number of volumes. The datasets created by your JCL can extend to a maximum of 5 volumes.

Let me try to clarify NicC's analysis of space allocation; I will use your standard of SPACE=(CYL,(10,5),RLSE).

When the dataset it initially allocated, the system will assign 10 cylinders. This space can be allocated in up to 5 extents, so the actual allocation might be 5 extents of 2 cylinders. The system will not tell you it has allocated the primary space in multiple extents. Your JCL can force the allocation as contiguous space, but you did not specify this option. If your program fills this space, the system will assign additional space in units of 5 cylinders, until the dataset has been assigned 16 extents. If this overflows, or the system can't find 5 contiguous cylinders on the volume, you will either get an x37 ABEND, or the system will extend the dataset to an additional volume. If it extends the data set to an additional volume, the first extent will be 5 cylinders. You can get an x37 ABEND for other reasons, but they are rare. See the description of the IEC030i and IEC031i messages here.

Re: How to create MULTIVOL dataset

PostPosted: Sat Dec 25, 2010 6:03 am
by fornanthakumar
Hi NicC & Steve-myers,

Merry Christmas to both of you. Have the time of your life today.

Hi NicC,

"The B37 could be caused by the I/O system having to use small amounts of space for some allocations as that is all there is on a volume whereas when your first file was created it found larger chunks" - I cant get you? Please clarify.

Hi Steve-myers,

1. How do we limit the number of volumes through JCL.. ex "As you have mentioned that we can limit to 5 at max. Is it like giving option like VOL=SER=(VOL1,VOL2...) like this...
2. If i mention MXIG instead of RLSE .. still this will fail with B37


To Both,

How the first dataset getting space from other volumes where the second dataset fails on this concepts eventhough the creation of these two datasets are same. still i am confusing...

because i am getting the same ABEND second time for the same issue again.

Any parmanent solution to this problem?

Re: How to create MULTIVOL dataset

PostPosted: Sat Dec 25, 2010 9:43 am
by steve-myers
Read about the JCL DD statement VOLUME parameter here to find out how to limit the number of volumes. I've always thought adding volumes to a disk data set was confusing and rather unreliable. Adding volumes to tape data sets works quite reliably. While you're reading the JCL reference manual in my link, also read about the SPACE parameter in the same manual.

Re: How to create MULTIVOL dataset

PostPosted: Sat Dec 25, 2010 11:07 am
by dick scherrer
Hello,

After reading the info in the documentation, suggest you follow my original suggestion:
Suggest you talk with your storage management people. Your issue may be more than a simple jcl syntax issue.

There are probably "things" that control parts of your system that cannot be covered in the JCL manuals. This would include specifically how dasd is managed on your system as well as the existence/use of a product like stopX37.