TMSINIT abended with IEFTMS70 DYY-120. As per the Documentation the reason for this Abend is:
"An I/O error was detected on a read from the Audit data set. The physical record read was not a multiple of 370 bytes in length."
and the required action is:
"Verify that the Audit data set was formatted using TMSFORMT. Verify that the Audit data set was allocated with DCB=(RECFM=FB,LRECL=370, BLKSIZE=n*370,DSORG=PSU). If the disk on which the Audit data set is located has been compressed or the data set has been moved, execute TMSINIT and run TMSCOPY to back up the TMC. Specifying DSORG=PSU on the Audit data set prevents it from being relocated in a DASD defragmentation orion operation."
However, the AUDIT has the correct DCB Attributes and was formatted using TMSFORMT.
Environment
Release: Component: 1
Cause
The reason for the DYY-120 abend was a short block at the end of the AUDIT data set. The AUDIT was allocated with
and contains 100000 records. This number of records result in a short block, which is not supported: 100000 records need 4166 full blocks and 1 additional block with only 16 records.
NOTE: If the AUDIT Data Set is formatted running TMSFORMT, it always fills the last block, so it will never result in a short block at the end. If the AUDIT is formatted using FORMAT AUDIT=100000 for example, using the DCB attributes above, TMSFORMT will fill the last block and actually format 100008 records.
However, if you re-block an existing AUDIT using IEBGENER for example, this might create short blocks depending on the number of records and the DCB attributes. For this reason never change the DCB attributes with IEBGENER.
Resolution
Re-format the AUDIT Data Set running TMSFORMT to create a valid AUDIT without short blocks at the end.