A D37 occurs because you ran out of your primary space allocation and didn't specify a secondary amount. A B37 occurs because you either used 16 extents for your ds or there was no more space on the volume. An extent is a contiguous amount of space on the disk. Your primary allocation can be satisfied in 1 to 5 separate chunks of storage on the disk so will take 1 to 5 extents. Each secondary allocation also can take 1 - 5 extents. It takes at least 1 even if it's contiguous to the primary space. The amount of fragmentation on the disk accounts for the differences. When people get a B37, they often try to remedy it by just upping the space allocations. Sometimes this works, sometimes it doesn't. It definitely won't work if there's a write to disk imbedded in a runaway loop in the program. E37s are because you have no room to add another member to a library. Sometimes compressing the library will fix it.