如何将可变长度记录的长度增加到32760以上?

时间:2015-08-14 08:28:23

标签: mainframe jcl vsam

可变长度QSAM记录的最大记录长度为32,760字节。

我们文件的当前记录长度对我们来说没问题,但为了解决更多信息,我们必须扩展此文件,使其长度超过32K(LRECL> 32760 )。

分割记录对我们来说不是一个好选择,因为它会影响我们现有的系统。

我不确定在这里使用VSAM的SPANNED记录是否可以解决这个问题。

//DEFINE EXEC PGM=IDCAMS
//SYSPRINT  DD SYSOUT=A
//SYSIN     DD *

  DEFINE CLUSTER (NAME(dsname.K1719) INDEXED VOLUMES(xxxxxx) -
         TRACKS(1) KEYS(17 19) RECORDSIZE(40 110) SPANNED) -
         DATA (NAME(dsname.K1719.DATA)) INDEX (NAME(dsname.K1719.INDEX))
/*
//

这会解决我们的问题吗?

1 个答案:

答案 0 :(得分:3)

如果您使用Unix系统服务文件,则不受LRECL的32K限制。 下游效果。

  • 如果您使用COBOL处理文件,则可以使用LINE ORGANIZATION子句中的SEQUENTIAL,但后来限制为1M LRECL。
  • 如果您使用COBOL处理文件,则可以避开COBOL I / O
    并使用C item.DonationAmount?.ToString("c0"); 等来绕过1M LRECL 上面提到的限制,但是你稍微添加了一些东西 对于一个公认的假设COBOL申请来说是陌生的。 C会 这些文件没有问题,我不能和PL / I说话。
  • 并非所有DFSMS和第三方实用程序都完全了解Unix系统服务 文件。
  • Unix系统服务文件的JCL结构相对较短 学习曲线,但 需要一些学习。
  • Unix系统服务文件的安全性可能会令您感到不安 安全管理员。您可能会发现自己必须设置 访问控制列表通过fopen()和其他新概念。