拿一个JCL代码抄上去,都会出错。。。
//CN00032 JOB TEST1,BAI,NOTIFY=CN0003
//STEP1 EXEC PGM=IEFBR14
//DD1 DD DSN=CN0003.TEST.TEXT1,
// DISP=(,CATLG),RECFM=FB,
// SPACE=(TRK,(10,2,5)),LRECL=80,
//BLKSIZE=160,UNIT=SYSDA
SUB了,出错了。。。,看了反馈信息,才知道是因为Keywork参数BLKSIZE行写在了第三列。
在JCL中,空格并不是随便用的,Name和语句,参数的位置都是有范围的,通常,用列号来划分这些。具体
则么规定,我也不太清楚,查查资料去。。(这个必须要搞明白)。
改成:
//CN00032 JOB TEST1,BAI,NOTIFY=CN0003
//STEP1 EXEC PGM=IEFBR14
//DD1 DD DSN=CN0003.TEST.TEXT1,
// DISP=(,CATLG),RECFM=FB,
// SPACE=(TRK,(10,2,5)),LRECL=80,
// BLKSIZE=160,UNIT=SYSDA
SUB,TSO SDSF ST,终于看到了多少天来最期待的画面。。
看来,参数不可以顶格写了。
TSO SDSF ST,
RC终于等于零了。
2、删除数据集
//CN0003D JOB TEST2,BAICHUNLI,NOTIFY=CN0003,
// CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=IEFBR14
//DD1 DD DSN=CN0003.TEST.TEXT1,DISP=(OLD,DELETE)
//
SUB,
MAXCC=0.(0,4表示正确,8,12表示错误)
よかった!
信心大增,哈哈。下面,接着再写一个,这次自己写。写一个创建顺序数据集的,代码如下:
//CRESDS JOB 'CREATE PDS',BAICHUNLI,NOTIFY=CN0003,
// CLASS=A,MSGCLASS=C
//STEP EXEC PGM=IEFBR14
//DD1 DD DSN=CN0003.TEST.PSD1(NEW1),
// DISP=(NEW,CATLG),
// SPACE=(TRK,(6,2)),
// UNIT=3390,
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
//
SUB,MACC=0,OK!
TSO SDSF ST:
没错,执行的很顺利,但是很意外。
我想在CN0003.TEST.PDS1下面创建Member NEW1,这样写的代码:
//DD1 DD DSN=CN0003.TEST.PSD1(NEW1),
没有任何错误,相反,缺成功建立了一个分区文件,看来,(NEW1)被JSE给忽略了。
结果缺创建了一个 CN0003.TEST.PSD1 ,当前的DSLIST如下:
那么,如何在已存在的PDS下创建Member呢?
先去看看文档吧,看明白了再写。。。