IEBGENER with a dummy SYSUT1 will effectively erase the first (and possibly the second) track, and make it difficult for most programs to access the remaining tracks. I don't think the original question is silly; it was worded poorly.
One of the things I've always found odd (at least since I was smart enough to analyze it) about data management is it drops a DASD "EOF" record as the first record of the next track after the last record of a sequential data set. I suspect they do it this way because they don't have to worry about doing track capacity analysis to make sure the "EOF" record can be written, and also to make data sets using maximum length records consistent with data sets with shorter records.
I prepared and ran this JCL
//A EXEC PGM=IEFBR14
//DS1 DD DISP=(MOD,DELETE),UNIT=SYSALLDA,SPACE=(TRK,0),
// DSN=&SYSUID..TESTEOF.DS1
//DS2 DD DISP=(MOD,DELETE),UNIT=SYSALLDA,SPACE=(TRK,0),
// DSN=&SYSUID..TESTEOF.DS2
//DS3 DD DISP=(MOD,DELETE),UNIT=SYSALLDA,SPACE=(TRK,0),
// DSN=&SYSUID..TESTEOF.DS3
//DS4 DD DISP=(MOD,DELETE),UNIT=SYSALLDA,SPACE=(TRK,0),
// DSN=&SYSUID..TESTEOF.DS4
//DS1 EXEC PGM=IEBGENER
//SYSPRINT DD DUMMY
//SYSUT1 DD DUMMY,DCB=(RECFM=FB,LRECL=80,BLKSIZE=80)
//SYSUT2 DD DISP=(,CATLG),UNIT=SYSDA,SPACE=(TRK,1),DSN=*.A.DS1
//SYSIN DD DUMMY
//DS2 EXEC PGM=IEBGENER
//SYSPRINT DD DUMMY
//SYSUT1 DD DUMMY,DCB=(RECFM=FB,LRECL=80,BLKSIZE=80)
//SYSUT2 DD DISP=(,CATLG),UNIT=SYSDA,SPACE=(TRK,2),DSN=*.A.DS2
//SYSIN DD DUMMY
//DS3 EXEC PGM=IEBGENER
//SYSPRINT DD DUMMY
//SYSUT1 DD DUMMY,DCB=(RECFM=FB,LRECL=80,BLKSIZE=80)
//SYSUT2 DD DISP=(,CATLG),UNIT=SYSDA,SPACE=(TRK,3),DSN=*.A.DS3
//SYSIN DD DUMMY
//DS4 EXEC PGM=IEBGENER
//SYSPRINT DD DUMMY
//SYSUT1 DD DUMMY,DCB=(RECFM=FB,LRECL=80,BLKSIZE=80)
//SYSUT2 DD DISP=(,CATLG),UNIT=SYSDA,SPACE=(TRK,4),DSN=*.A.DS4
//SYSIN DD DUMMY
I then performed an image dump of each data set, and got these results.
- DS1 - An "EOF" record on the one track
- DS2 - An "EOF" on the first track, junk on the remaining tracks
- DS3 - An "EOF" on all 3 tracks
- DS4 - An "EOF" on the first 2 tracks, junk on the third and fourth tracks.
A little primer about writing to DASD. There are two different types of write commands for DASD that ordinary programs that use EXCP can use: update writes, to alter an existing record, and formatting writes to create a new record. A formatting write command at the end of a channel program erases the track after the new record; any data that was on the track disappears after a formatting write. Programs that initialize DASD can do formatting writes for two additional record types: the "home address" record at the beginning of a track, and the record 0, also at the beginning of a track. An "EOF" record can be written by any program that uses EXCP.