From the jcl ,we can see the system can allocate 160 cylinders.However,B37 abend occured.
Abend information:
Code:
ADDVOL FOR DD=SYSREC00 DSN=BG50.DS.UNLOAD.DOUTHST.D0331
VOL=BDSYB0 POOL=*NONE* EXT=16
POOL DEFINITION DOES NOT ALLOW VOLUME ADDITION
IEC030I B37-04,IFG0554A,BG50D10,DB2UNLD,SYSREC00,745B,BDSYB0,BG50.DS.UN
IEA995I SYMPTOM DUMP OUTPUT
SYSTEM COMPLETION CODE=B37 REASON CODE=00000004
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
Hello,
If it works with an rc=0, how would you want to fix it?
You might talk with your storage admin people and find out more about usage on BDSYB0.
How many times did the 10,10 allocation fail? How many times did the 80,10 work? Was this run more than jut the 2 times you mention?
How much time was there between the abend and successful run from your quote?
If there was only one failure, it may simply be that when the b37 occurred, there was not enough space on the volume. . . Or that due to severe fragmentation, the process ran out of extents.
Hello,
I just want to know the reason why B37 occured,as from the jcl,there seems to be no problem.I guess when no volume is designated,the system
will just allocate a volume that only meets the primary allocation(or maybe the SMS volume's largest extent space is a little more than the primary allocation).However,there are not enough extent space that can add to 88 when allocated for 16 times.
However,when the primary allocation 80,the system will choose a volume that the largest extent space is 80 cylinders.
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
Hello,
Yes, there is no problem with the jcl. The abend was caused there was insufficient space as allocated.
To better understand how a b37 can occur, i'd suggest you use the "IBM Manuals" link at the top of the page, scroll down to the last entry in the Messages & Codes secton, click on Vol IV of the MVS System Messages, and search for IEC030I (which is the message id from your posted output).
Joined: 18 Jul 2007 Posts: 2146 Location: At my coffee table
Not to undercut Dick, and having very litle SMS stuff in my head, it might just be how the allocaton prioritized the space on the volume that got allocated....
During your first run with SPACE=(CYL,(10,10),RLSE) a disk was chosen, that could satisfy the primary quantity. Then data wants to expand. Then no more cyls where allocatable on that one disk, so system wants to alloc a second disk. But that was forbidden by SMS definitions.
IEC030I B37-04,IFG0554A
POOL DEFINITION DOES NOT ALLOW VOLUME ADDITION
With the second try using SPACE=(CYL,(80,10),RLSE), system automaticaly allocated an other disk, where more prim-space was available. That disk had enough space to fullfill the requests.
When i new the approximate demand of space, a dataset needs, i mostly
use this for primary alloc. I'm not a fan of multi-volume-allocation. If the Space-Managers in your shop do their job right, there would be enough space on the dasd. If a third party software like STOP-X37 is installed, the allocation is re-allocated during a fail by the system automatically. You are also using RLSE. So what. Now a days, space doesn't cost as much as bygone days.
But also keep in mind, that the prim-space is always also needed on the second volume, if only one volume could not fullfill the whole request. Then system looks for an other disk with the same free prim-space.