如何解决当我指定RECFM = FB时,RECFM = FBA
我使用IDCAMS将VSAM KSDS中的记录打印到PS文件(在JCL中创建)。
//OUTDD DD DSN=&SYSUID...PUTOUT,disP=(NEW,CATLG,DELETE),// SPACE=(TRK,(1,0)),// DCB=(RECFM=FB,DSORG=PS,LRECL=120),BLKSIZE=9600
尽管我在Jcl中指定了RECFM = FB,但是当我查看Z00838.PUTOUT的属性时,它显示了FBA。我需要帮助吗?
解决方法
详细的here IDCAMS对PRINT
语句的输出数据集有一些要求,该要求以不太明显的方式实施。
默认SYSPRINT
为RECFM=VBA,LRECL=125
,但按照上面的链接
您可以通过在DCB中放置其他值来更改默认值 SYSPRINT语句的参数。但是,您不能使用记录 F或固定块(FB)的格式;那些更改为VBA。
注意分号后的部分:IDCAMS将自动更改它不喜欢的所有DCB参数。
在使用参数之后,它似乎比上面所述更加严格:甚至RECFM=VB
都将更改为VBA
,所有小于{125的LRECL
都将更改为125。
P.S .:您真的要PRINT
这样的数据集吗?
RECORD SEQUENCE NUMBER - 69
//IKJEFT1A EXEC PGM=IKJEFT1A
RECORD SEQUENCE NUMBER - 70
//*
还是您要REPRO
这样?
// IKJEFT1A EXEC PGM = IKJEFT1A
// *
P.P.S .:此行为还将影响已用DISP=SHR
分配的现有数据集。
最有趣的效果是使用已经存在一些内容的预先存在的FB80数据集,并在IDCAMS DISP=MOD
步骤中使用PRINT
对其进行分配。该步骤以返回码0完成,但随后尝试读取数据集导致I / O错误。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。