当我指定 RECFM=FB 时 RECFM =FBA
RECFM =FBA when i specifed RECFM=FB
我使用 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
语句的 output-dataset 有一些要求,它以不太明显的方式强制执行。
默认的SYSPRINT
是RECFM=VBA,LRECL=125
,但是按照上面的link
You can alter the defaults by placing other values in the DCB
parameter of the SYSPRINT statement. You cannot, however, use a record
format of F or fixed block (FB); those are changed to VBA.
注意分号后面的部分:IDCAMS会自动更改所有DCB-Parameters它不喜欢的。
修改参数后,似乎比上面说的还要严格:甚至 RECFM=VB
也会更改为 VBA
并且所有 LRECL
小于 125 的都将被更改为 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 PRINT
步骤中使用 DISP=MOD
分配它。该步骤以返回码 0 完成,但随后尝试读取数据集导致 I/O-error.
我使用 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
语句的 output-dataset 有一些要求,它以不太明显的方式强制执行。
默认的SYSPRINT
是RECFM=VBA,LRECL=125
,但是按照上面的link
You can alter the defaults by placing other values in the DCB parameter of the SYSPRINT statement. You cannot, however, use a record format of F or fixed block (FB); those are changed to VBA.
注意分号后面的部分:IDCAMS会自动更改所有DCB-Parameters它不喜欢的。
修改参数后,似乎比上面说的还要严格:甚至 RECFM=VB
也会更改为 VBA
并且所有 LRECL
小于 125 的都将被更改为 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 PRINT
步骤中使用 DISP=MOD
分配它。该步骤以返回码 0 完成,但随后尝试读取数据集导致 I/O-error.