我的 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)
//
目前在 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)
//