The most common reason of a B37 abend is a situation when operating system can't allocate secondary extenet for DASD output dataset because there is not enough space on the DASD unit(s), defined for the dataset allocation.
Sequential dataset can be allocated in up to 16 extents (normally one primary and 15 secondary). When OS can't find space for primary allocation, job gets cancelled with JCL error before attempting to execute it. If primary allocation request is satisfied, job starts running, allocating secondary extents when (and if ) necessary. If an attempt to allocate secondary extent fails, job abends with B37.