What it means
Abend D37 comes with message IEC031I during an output operation on a disk data set. Return code 04 means the data set used all its primary space and no secondary quantity was given, so the system had no way to extend it.
It is a JCL or allocation fix in most cases, unless the job wrote far more data than it should.
Typical causes
- SPACE coded with a primary quantity only, no secondary.
- A primary quantity too small for the real output size.
- A program loop or duplicate input producing too many records.
How to fix it
- Read IEC031I to find the DD and data set.
- Add a secondary quantity to the SPACE parameter.
- Increase the primary quantity if normal output is larger.
- Check the record count against previous runs for a loop.
- Delete the partial output and rerun.
Example
Illustrative only; names and values are invented.
IEC031I D37-04,modname,PAYJOB01,STEP030,OUTFILE,0A41,VOL123,USER01.PAY.EXTRACT
IEF450I PAYJOB01 STEP030 - ABEND=SD37 U0000 REASON=00000004