Simple Mainframe Universe
Home Tutorials Interview Q&A Quiz Mainframe Memes Contact us About us

JCL & Batch Troubleshooting


SD37 secondary allocation unavailable

SD37 means no secondary space was available when the dataset tried to extend — closely related to SB37, but specifically about secondary allocation.

What it means

  • The primary allocation filled up and the system could not obtain secondary extents.
  • Either none were coded or the volume has no room left.

Common causes

  • SPACE coded with primary only, e.g. SPACE=(CYL,50) with no secondary.
  • Volume full so secondary extents cannot be allocated.
  • Unexpected output volume from a program bug.

How to diagnose

  • Inspect the SPACE parameter: confirm a secondary quantity is coded.
  • Check volume free space with the storage team.
  • Verify record counts written before failure.

How to fix it

  • Code secondary space: SPACE=(CYL,(50,20)).
  • Free volume space or add volumes to the storage group.

Example: Always code secondary space

//OUTFILE DD DSN=APP.OUT.DATA,DISP=(NEW,CATLG), // SPACE=(CYL,(50,20),RLSE)

The ",20" secondary allocation is what prevents SD37.

Interview tip

  • Q: How would you troubleshoot a SD37 secondary allocation unavailable in production?
  • A: I would verify secondary space is coded and check volume free space, then correct whichever is missing.

Prevention checklist

  • Standard: always code primary and secondary.
  • Alert on volumes above 85% full.




© copyright mainframebug.com
Privacy Policy
MainframeBug Assistant