以下空间分配给我一个sB37 JCL错误。输出文件的cobol大小为100字节,lrecl大小为100字节。您认为导致此错误的是什么?我已经尝试将大小增加到500,100并仍然得到相同的错误。
代码:
//OUTPUT1 DD DSN=A.B.C,DISP=(NEW,CATLG,DELETE),
// DCB=(LRECL=100,BLKSIZE=,RECFM=FBM),
// SPACE=(CYL,(10,5),RLSE)
答案 0 :(得分:1)
尝试不仅增加空间,还增加音量。 在DD中包含VOL =(,,,#)。 #是您要分配的值的数量
Ex:SPACE =(CYL,(10,5),RLSE),VOL =(,,, 3) - 包括3卷。
此外,您可以增加尺寸,但尽量保持在合理范围内:)
答案 1 :(得分:0)
documentation for B37表示应用程序员应按照IEC030I消息的指示做出响应。 documentation for IEC030I部分地说...
可能的用户错误。对于所有情况,请分配与卷一样多的单位 必需的。
......如另一个答案所述。但是,请注意the documentation for the VOL parameter of the DD statement说......
如果省略卷计数或指定1到5,则表示系统 允许最多五卷;如果指定6到20,则系统 允许20卷;如果指定的计数大于20,则为系统 允许5加15个卷的倍数。您可以覆盖最大值 使用volume-count子参数在数据类中计算卷数。该 SMS管理的可安装磁带数据集或a的最大卷数 非托管磁带数据集为255。
...因此,对于DASD分配,最好使用指定大于5的卷数(至少)。
答案 2 :(得分:0)
//OUTPUT1 DD DSN=A.B.C,DISP=(NEW,CATLG,DELETE),
// DCB=(LRECL=100,BLKSIZE=,RECFM=FBM),
// SPACE=(CYL,(10,5),RLSE)
试试这个。请注意,辅助数据库将利用大型数据集,而没有该参数,最重要的辅助数据是< 300.哦,如果它确实是来自COBOL程序,请确保FD说" BLOCK 0" !!!!!如果它不是" BLOCK 0"然后你可能甚至不需要改变你的JCL,因为它不是固定块机器。它只是固定和解锁,因此空间几乎永远不够。最后,您可能希望重新考虑为什么在RECFM中开始使用M.另请注意,我拿出了LRECL,BLKSIZE和RECFM。这是因为COBOL程序中的FD就是你所需要的,把它放在JCL中不仅多余而且危险,因为任何改变都必须在多个地方完成。
//OUTPUT1 DD DSN=A.B.C,DISP=(NEW,CATLG,DELETE),
// DSNTYPE=LARGE,UNIT=(SYSALLDA,59),
// SPACE=(CYL,(10,1000),RLSE)
答案 3 :(得分:0)
每一个卷限制为65,535首曲目。因此,如果您指定的SPACE超过该限制-系统将直接忽略它。
您可以通过添加 DSNTYPE = LARGE 参数将该限制增加到16,777,215个曲目。 或者,您可以通过添加 VOL =(,,, 3)
来指定您的数据集为多卷。您还可以在此处使用 DATACLAS = xxxx 参数,但是首先需要找到它。简单的方法是与您当地的存储团队联系,并要求一个。或者,如果您熟悉ISPF导航,则可以输入ISMF; 4命令打开一个面板
在按下回车键之前使用波纹管参数。
CDS Name . . . . . . 'ACTIVE'
Data Class Name . . *
它应该产生所有可用数据类的列表。找到适合您的一个(数量数量,不限制主要和次要空间