Я получаю ошибку $ HASP165 (JOB09746 $ HASP165 KC03A081, ЗАВЕРШЕННЫЙ В SVSCJES2 - ОШИБКА JCL CN (ВНУТРЕННЯЯ)) в моем JCL - PullRequest
1 голос
/ 09 января 2020

В настоящее время работает над JCL, и каждый раз, когда я отправляю сообщение, появляется ошибка (та, что в заголовке). Я просто не могу понять, что происходит, и я верю, что я обдумываю это, но каждый раз, когда я go и делаю быстрый перерыв, когда я возвращаюсь, это делает все заново, независимо от того, что я изменяю. Я просто не могу точно определить, в чем проблема. Я подумал, что, может быть, я что-то упустил и мне нужен еще один набор глаз. Я совершенно новичок в 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 - "$ HASP165 IBMUSERW ENDED AT SVSCJES2 - ОШИБКА JCL CN (ВНУТРЕННЯЯ)"

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

1 Ответ

2 голосов
/ 10 января 2020

IGYWCLG - это поставляемая IBM каталогизированная процедура для компиляции и компоновки программы COBOL. Он состоит из трех шагов:

  • COMPILE
  • LinkEdit
  • GO

Похоже, что основные проблемы в переопределениях и некоторые другие проблемы JCL. Порядок здесь

//KC03A081 JOB 1,SPENSER,NOTIFY=&SYSUID,MSGCLASS=H, Ошибка карты JOB. Он заканчивается на a, но продолжения нет. Это ошибка JCL, которая прекращает обработку задания.

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

Выполняет Pro c IGYWCLG для компиляции, связывания и go следующей программы на языке COBOL.

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

В приведенном выше утверждении нет явных ошибок.

Следующие операторы переопределяют шаг GO в pro c. Похоже, это ссылки на файлы, используемые в скомпилированной программе COBOL.

В этой области существует несколько повторяющихся проблем. Список операторов сопровождается комментариями.

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

DDName RESERVATION-MASTER не является действительным DDName. Длина DDNames до 8 символов. В области DATA DIVISION FILE CONTROL программы COBOL есть запись FD, которая должна соответствовать DDName. Похоже, вы используете WORKING-STORAGE ссылки для форматов записи, а не имя в FILE CONTROL.

Кроме того, вам нужно DSN = имя набора данных, 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)
 //
...