概述
SPACE是JCL中用于为一个新文件获取空间时必不可少的语句。以下所述仅针对DASD QSAM文件(包括GDG version file).
语法:SPACE=(单位,(primary quantity, secondary quantity),…)
原则
- 新文件建立时,第一次分配primary quantity声明的空间大小,如果不足够,则再次分配secondary quantity声明的空间大小,secondary quantity可分配15次。如果声明可从多个volume上分配空间,则从第二个volume开始,每个volume可分配16次secondary quantity.
- 如果不使用选项DSNTYPE=LARGE,一个文件最大可获取一个volume上的65535TRKS(4639CYLS)
- 一个DISK可分配的空间有限,所以DSNTYPE=LARGE所能获得的空间的大小受DISK可分配的空间限制。
- 如果primary quantity的值大于一个volume剩余可分配的空间,那么这个step会直接abend.
例子
1. SPACE=(CYL,(15,5),RLSE),UNIT=(DISK,10)
最大可分配空间:15+5*15+5*16*9=810CYLS
在第一个volume上分配15+5*15=90CYLS,在第二到九个volume上分别分配5*16=80CYLS.
2. SPACE=(CYL,(1500,500),RLSE),UNIT=(DISK,25)
最大可分配空间:1500+500*5+500*8*24=10000CYLS
因为4639CYLS的限制. 1500+500*5=4000 < 4639CYLS, 500*8=4000 < 4639CYLS
3. SPACE=(CYL,(1500,500),RLSE),UNIT=(DISK,25),DSNTYPE=LARGE
最大可分配空间:1500+500*15+500*16*24=20100CYLS