This exercise was not an exhaustive test, but did prove that it is possible to
create a 3390 DASD image larger than a 3390-1 which may then be usable under MVS
3.8j. The steps I followed, detailed below are:
used the Hercules dasdload utility to create a custom sized 3390 image,
wrote a couple of simple COBOL programs to first fill the DASD with data and then read the data back and ensure the same data could be read that was written.
It is not possible to use the IBM Device Service Facilities (ICKDSF) utility to format a non-standard DASD image. Therefore, you must use the Hercules dasdload utility to create the empty 3390 DASD.
The largest number of cylinders that MVS 3.8j can be expected to be correctly process for a 3390 is 2,183, since 2,183 cylinders multiplied by 15 tracks per cylinder is 32,745, which falls below the maximum number which may be stored in a half-word field (32,767). This is the limiting factor for MVS 3.8j.
The control file for dasdload I used is:
test00 3390-2 2183 sysvtoc vtoc trk 5
The output from executing dasdload with this control file was:
dasdload dasdload.ctlfile.txt test00.3390 2 Hercules DASD loader program Version 3.13 (c)Copyright 1999-2015 by Roger Bowler, Jan Jaeger, and others --------- test00 3390-2 2183 HHCDL006I Creating 3390 volume TEST00: 15 trks/cyl, 56832 bytes/track HHCDU044I Creating 3390 volume TEST00: 2183 cyls, 15 trks/cyl, 56832 bytes/track HHCDU041I 2183 cylinders successfully written to file test00.3390 HHCDA020I test01.3390 cyls=2183 heads=15 tracks=32745 trklen=56832 HHCDL009I Loading 3390 volume TEST00 --------- sysvtoc vtoc trk 5 HHCDL012I Creating dataset SYSVTOC at cyl 0 head 1 HHCDL013I Dataset SYSVTOC contains 5 tracks HHCDL057I VTOC starts at cyl 0 head 1 and is 5 tracks HHCDL014I Free space starts at cyl 0 head 6 HHCDL016I Total of 2183 cylinders written to test01.3390
I attached this DASD image to Hercules, varied it online to MVS, and mounted it as a private volume.
I wanted to prove that I could create a single dataset utilizing all the space on the test volume, fill the dataset with records of known content, then read all the records back and for each record compare the data read from the DASD with the data I had written. I already had several COBOL programs coded that would serve as a model for a program that would read 80 character records.
I used BLK3390 to derive the optimum blocking factor for an 80 byte record as 27,920 80 character records per block. That would yield 2 blocks per track, or 698 80 character records per track. For a 2,183 cylinder 3390 DASD, that comes out to 22,851,822 80 byte records
I could have just written a single 80 character record 22,851,822 times, but I decided to make each record unique by utilizing an edited record count at the front of the record and filled the remainder of the record with a rotating character field composed of each letter of the alphabet, repeated 70 times.
The jobstream for the test, with the COBOL programs inline is available at big3390t.jcl. The SYSOUT for the job is available at big3390t.pdf. A VTOC list for the volume with the dataset on it is available at: big3390l.pdf,
As I said at the top of the page, this is not an exhaustive test.
There also needs to be testing to verify that a VSAM User Catalog can be created on this DASD volume. Then that non-VSAM datasets can be created and accessed when catalogued in that User Catalog, and that VSAM objects can be created on, and read from the volume.
At this time I do not have plans to continue testing, but may later attempt to complete these tests.
I hope that you have found my instructions useful. If you have questions that I can answer to help expand upon my explanations and examples shown here, please don't hesitate to send them to me:
Return to Site Home Page Frequently Asked Questions
This page was last updated on February 08, 2025.