我的 JCL 中出现 $HASP165 错误 (JOB09746 $HASP165 KC03A081 ENDED AT SVSCJES2 - JCL ERROR CN(INTERNAL))

I am getting a $HASP165 error (JOB09746 $HASP165 KC03A081 ENDED AT SVSCJES2 - JCL ERROR CN(INTERNAL)) in my JCL

目前在 JCL 上工作,每次提交时都会弹出一个错误(标题中的错误)。我只是不知道发生了什么,我相信我想得太多了,但每次我去休息一下,当我回来时,无论我改变什么,它都会重新开始。我只是无法 pin-point 问题是什么。我想也许我忽略了一些东西,需要另一双眼睛。我对 JCL 很陌生,所以我只是想 运行 我的一个 pds 中的一个程序。

代码:

 //KC03A081 JOB 1,SPENSER,NOTIFY=&SYSUID,MSGCLASS=H,           
 //* THIS JOB WILL COMPILE, LINK, AND GO A GIVEN PROGRAM      
 //STEP1    EXEC IGYWCLG,                                      
 // PARM.COBOL='TEST,RENT,APOST,OBJECT,NODYNAM,SIZE(2048376)'  
 //COBOL.SYSIN DD DSN=KC03A08.SOURCE.CBLWI19(CBLSJL01),DISP=SHR
 //GO.RESERVATION-MASTER DD DSN KC03A08.TRAN.IN,DISP=SHR       
 //GO.RATES-MASTER DD DSN KC03A08.TRAN.IN,DISP=SHR             
 //GO.DISCOUNT-MASTER DD DSN KC03A08.TRAN.IN,DISP=SHR          
 //GO.TAX-MASTER DD DSN KC03A08.TRAN.IN,DISP=SHR               
 //GO.CAMPBILLPRT DD DSN=KC03A08.STUDENT.PRT,                  
 //             DISP=(NEW,CATLG,DELETE),                       
 //             UNIT=SYSDA,                                    
 //             SPACE=(TRK,(1,1)),                             
 //             DCB=(DSORG=PS,LRECL=133,RECFM=FBA,BLKSIZE=1330)
 //                                                            

我尝试过的解决方案:

JCL error - "$HASP165 IBMUSERW ENDED AT SVSCJES2 - JCL ERROR CN(INTERNAL)"

http://www.ibmmainframeforum.com/jcl/topic1301.html

https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/com.ibm.zos.v2r1.hasa100/m001094.htm

IGYWCLG 是 IBM 提供的编目过程,用于编译和 linking COBOL 程序。它包括三个步骤:

  • 编译
  • 链接编辑
  • 开始

看起来主要问题在于覆盖和其他一些 JCL 问题。此处顺序

//KC03A081 JOB 1,SPENSER,NOTIFY=&SYSUID,MSGCLASS=H, JOB 卡有误。它以 结尾,但没有延续。这是将终止作业处理的 JCL 错误。

 //* THIS JOB WILL COMPILE, LINK, AND GO A GIVEN PROGRAM      
 //STEP1    EXEC IGYWCLG,                                     
 // PARM.COBOL='TEST,RENT,APOST,OBJECT,NODYNAM,SIZE(2048376)'

这会执行Proc IGYWCLG 进行编译,link然后进入下面的COBOL 程序。

//COBOL.SYSIN DD DSN=KC03A08.SOURCE.CBLWI19(CBLSJL01),DISP=SHR

以上语句没有任何明显的错误。

以下语句覆盖了过程中的 GO 步骤。这些参考文件似乎在已编译的 COBOL 程序中使用。

这个领域存在几个反复出现的问题。该声明后跟评论。

//GO.RESERVATION-MASTER DD DSN KC03A08.TRAN.IN,DISP=SHR

DDName RESERVATION-MASTER 不是有效的 DDName。 DDName 的长度最多为 8 个字符。在 COBOL 程序的 DATA DIVISION FILE CONTROL 区域中,有一个 FD 条目应该与 DDName 匹配。看起来您使用的是记录格式的 WORKING-STORAGE 引用,而不是 FILE CONTROL.

中的名称

此外,您需要 DSN=datasetname,DISP=SHR。您缺少 DSN 和名称之间的等号。

 //GO.RATES-MASTER DD DSN KC03A08.TRAN.IN,DISP=SHR            
 //GO.DISCOUNT-MASTER DD DSN KC03A08.TRAN.IN,DISP=SHR          
 //GO.TAX-MASTER DD DSN KC03A08.TRAN.IN,DISP=SHR               
 //GO.CAMPBILLPRT DD DSN=KC03A08.STUDENT.PRT,                  
 //             DISP=(NEW,CATLG,DELETE),                       
 //             UNIT=SYSDA,                                    
 //             SPACE=(TRK,(1,1)),                             
 //             DCB=(DSORG=PS,LRECL=133,RECFM=FBA,BLKSIZE=1330)
 //