大型机 - 数据集SHECICS.ZEUSBANK.TXNOFFLD未找到

时间:2017-11-19 04:48:59

标签: dataset mainframe jcl dfsort

我有一个顺序数据集,其格式为

0000000520161103152815SHE0009 P1234561234567898765411112222        120AA

最后2个字节(位置71和72)是AA,AB,BA或空白的单独CH。我试图对此输入进行排序并创建AA,AB,BA部分的报告,并忽略没有AA,AB或BA的记录。每个部分的每一行显示出纳员名称(上面的SHE0009,位置23)和付款(上面的120,AA之前的11个字节,位置60)。每个部分的最后一行汇总了该部分的所有付款。

enter image description here

这是我的代码

 //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.任何人都可以看到无法找到我的数据集的原因,如果可能的话,这是产生我想要的结果的代码。感谢。

2 个答案:

答案 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=' '(多个空格)创建了奇数磁带,如果他们试图读取磁带就会欺骗很多人,即引号允许你使用符合条件的数据集名称。

以下我感兴趣: -

Data Set Names

Character sets - Table 2. Special Characters Used in Syntax