我有一个顺序数据集,其格式为
0000000520161103152815SHE0009 P1234561234567898765411112222 120AA
最后2个字节(位置71和72)是AA,AB,BA或空白的单独CH。我试图对此输入进行排序并创建AA,AB,BA部分的报告,并忽略没有AA,AB或BA的记录。每个部分的每一行显示出纳员名称(上面的SHE0009,位置23)和付款(上面的120,AA之前的11个字节,位置60)。每个部分的最后一行汇总了该部分的所有付款。
这是我的代码
//SHE0008 JOB
//SORTSTEP EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SORTIN DD DSN='SHECISC.ZEUSBANK.TXNOFFLD',DISP=SHR
//SORTOUT DD DSN=SHE0008.TESTT,
// DISP=(NEW,CATLG,DELETE),SPACE=(CYL,(10,5),RLSE)
//SYSIN DD *
SORT FIELDS=(71,1,CH,A,72,1,CH.A)
INREC BUILD=(71,1,72,1,23,8,60,11,BI,TO=ZD,LENGTH=11)
OUTFIL REMOVECC,
SECTIONS=(1,1,2,1
HEADER3=(1:C'PAYMENTS BY TELLER',/,X,/,
1:C'TRANSFER TYPE: ',1,1,2,1,/,X,/,
1:C'TELLER',10:C'PAYMENT',/,
1:C'------',10:C'-------'),
TRAILER3=(X,/,
1:C'BRANCH TOTAL: ',16:TOT=(11,11,BI,EDIT=(SIIIITTT),SIGNS=(,-)))),
TRAILER1=(X,/,1:C'GRAND TOTAL: ',TOT=(11,11,BI,
EDIT=(SIIIITTT),SIGNS=(,-))),
OUTREC=(1:7,4,CH,LENGTH=7,10:11,4,BI,EDIT=(SIIIITTT),
SIGNS=(,-))
/*
我收到错误SORTIN - DATA SET SHECISC.ZEUSBANK.TXNOFFLD NOT FOUNDI
- STEP WAS NOT EXECUTED.
任何人都可以看到无法找到我的数据集的原因,如果可能的话,这是产生我想要的结果的代码。感谢。
答案 0 :(得分:1)
您编写SHECICS.ZEUSBANK.TXNOFFLD
的文件名为SHECISC.ZEUSBANK.TXNOFFLD
。
你错过了第一部分" SHECICS"这可能是问题。
答案 1 :(得分:0)
尝试删除数据集名称周围的引号。
即。变化
//SORTIN DD DSN='SHECISC.ZEUSBANK.TXNOFFLD',DISP=SHR
到
//SORTIN DD DSN=SHECISC.ZEUSBANK.TXNOFFLD,DISP=SHR
理由是: -
如果引号在JCL DD语句JCL中分隔数据集名称 处理不能对语句和SMS执行语法检查 基于其对数据集名称的解析来拒绝输入。短信呢 不允许对名称进行编目,因为引用的数据集不能 短信管理。
SMS是系统管理存储,虽然我相信在短信时间之前结果会是相同的。如果我没记错的话,我也使用DSN=' '
(多个空格)创建了奇数磁带,如果他们试图读取磁带就会欺骗很多人,即引号允许你使用符合条件的数据集名称。
以下我感兴趣: -