SB37 JCL错误到小尺寸?

时间:2014-08-06 19:45:17

标签: jcl

以下空间分配给我一个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)                   

4 个答案:

答案 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  . . *

它应该产生所有可用数据类的列表。找到适合您的一个(数量数量,不限制主要和次要空间