Код ошибки IBM DB2 Obscure - PullRequest
       14

Код ошибки IBM DB2 Obscure

0 голосов
/ 07 марта 2011

Когда я пытаюсь прекомпилировать приложение COBOL, используя SUB для файла JCL, я получаю эту ошибку:

19.30.05 JOB08639 $HASP165 ZUSER13A ENDED AT SVSCJES2 - JCL ERROR CN(INTERNAL)

Я пытался смотреть онлайн безуспешно. Кто-нибудь знает, к чему это относится?

Вот мой файл JCL

000001 //ZUSER13A JOB NOTIFY=&SYSUID
000002 //*--------------------------------------------------------------------*
000003 //*    PRECOMP - PRECOMPILE THE COBOL PROGRAM                          *
000004 //*  YOU SHOULD CHANGE ZUSER26 TO YOUR OWN TSO USERID                  *
000005 //*  YOU SHOULD CUSTOMIZE THE FOLLOWING LIBRARIES WITH HELP OF TEACHER *
000006 //*--------------------------------------------------------------------*
000007 //*--------------------------------------------------------------------*
000008 //*    THE FOLLOWING 8 SYMBOLIC PARAMETERS SHOULD BE SET BY YOURSELF   *
000009 //*  ? (1) DB2LOAD - THE DB2 LOAD LIBRARY                              *
000010 //*  ? (2) WSPC    - THE SIZE FOR TEMPARARY DATA SET                   *
000011 //*  ? (3) DASD    - THE UNIT VALUE FOR DASD                           *
000012 //*  ? (4) SRC     - THE COBOL SOURCE PROGRAM LIBRARY                  *
000013 //*  ? (5) CPY     - THE COBOL COPYBOOK LIBRARY                        *

000014 //*  ? (6) DBRM    - THE DBRM LIBRARY FOR DB2 BIND PROCESS             *
000015 //*  ? (7) MID     - THE MODIFIED COBOL SOURCE CODE LIBRARY            *
000016 //*  ? (8) TRAN    - THE TRANSACTION/FUNCTION MODULE NAME              *
000017 //*--------------------------------------------------------------------*
000018 // SET    DB2LOAD=ZUSER13.DB2.LOAD
000019 // SET    WSPC=500
000020 // SET    DASD=SYSDA
000021 // SET    SRC=ZUSER13.DB2.SRC
000022 // SET    CPY=ZUSER13.DB2.CPY
000023 // SET    DBRM=ZUSER13.DB2.DBRM
000024 // SET    MID=ZUSER13.DB2.MID
000025 // SET    TRAN=OPACCT
000026 //*------------------------------------------------------------------*
000027 //*            PRECOMPILE THE COBOL PROGRAM                          *
000028 //*            RETURN CODE SHOULD BE 4 OR LESS                       *
000029 //*------------------------------------------------------------------*
000030 //PC      EXEC PGM=DSNHPC,REGION=4096K,
000031 //        PARM=('HOST(IBMCOB)',APOST,APOSTSQL,SOURCE,XREF,'STDSQL(NO)')

000032 //STEPLIB  DD  DISP=SHR,DSN=&DB2LOAD
000033 //SYSCIN   DD  DISP=SHR,DSN=&MID(&TRAN)
000034 //SYSPRINT DD  SYSOUT=*
000035 //SYSTERM  DD  SYSOUT=*
000036 //SYSUDUMP DD  SYSOUT=*
000037 //SYSUT1   DD  SPACE=(800,(&WSPC,&WSPC),,,ROUND),UNIT=&DASD
000038 //SYSUT2   DD  SPACE=(800,(&WSPC,&WSPC),,,ROUND),UNIT=&DASD
000039 //SYSIN    DD  DISP=SHR,DSN=&SRC(&TRAN)
000040 //SYSLIB   DD  DISP=SHR,DSN=&CPY
000041 //DBRMLIB  DD  DISP=SHR,DSN=&DBRM(&TRAN)
000042 //

1 Ответ

2 голосов
/ 07 марта 2011

Мне интересно, действительна ли ваша JOB-карта. У вас есть:

//ZUSER13A JOB NOTIFY=&SYSUID    

Формат карты JCL Job:

//jobname JOB (accounting-info),name,keyword-parameters   

Требуется имя задания , у вас есть: ZUSER13A

Ключевое слово JOB находится там, где и должно быть. Пока все хорошо ...

У вас нет никакой account-info . В зависимости от вашей установки это может или не может потребоваться (это часто бывает). Формат accounting-info определен при установке, поэтому вам нужно будет спросить кого-нибудь об этом. Обратите внимание, что скобки являются необязательными, только если accounting-info не содержит встроенной запятой или других специальных символов.

Далее должна быть запятая, если в карточке задания указано что-то еще. Это не является обязательным и может быть причиной вашей проблемы.

После запятой должно быть название сортировки, заключенное в кавычки. Например, «PRECOMP». Для этого тоже могут быть определенные правила установки.

Далее должна быть еще одна запятая, если какие-либо ключевые слова-параметры должны быть включены в карточку задания.

Наконец, вы можете указать ключевые параметры, такие как NOTIFY = . Я не уверен, что параметры замещения, такие как & USERID , будут действительными здесь, если задание не было отправлено в рамках запущенной задачи. Поскольку вы используете SUB для отправки задания (в рамках TSO?), & USERID также может не работать для вас. Попробуйте жестко закодировать свой идентификатор пользователя.

Часто самый быстрый способ выяснить, что должна содержать карточка задания, - это посмотреть на фрагмент JCL, который действительно работал, когда подано в TSO, а затем скопировать карточку задания!

...