2011-03-07 63 views
0

當我試圖預編譯我的COBOL應用程序,使用一個JCL文件運行SUB,我得到這個錯誤:IBM DB2令人費解的錯誤代碼

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 // 
+0

你可以發佈jcl嗎? – JDU 2011-03-07 02:20:49

回答

2

我想知道,如果你的工作證是有效的。您有:

//ZUSER13A JOB NOTIFY=&SYSUID  

的JCL作業卡格式爲:

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

作業名是必需的,你有那:ZUSER13A

關鍵字JOB是它應該。到目前爲止這麼好...

您沒有任何會計信息。根據您的安裝情況,這可能需要也可能不需要(通常是)。 accounting-info的格式是installantion定義的,因此您必須向某人詢問它。請注意,只有在記帳信息不包含嵌入的逗號或其他特殊字符時,括號纔是可選的。

接下來,如果工作卡上還有其他指定的內容,則必須有逗號。這不是可選的,可能是您的問題的原因。

後面的逗號應該是用引號括起來的某種名字。例如'PRECOMP'。這也可能有安裝特定的規則。

接下來必須有另一個逗號,如果有關鍵字參數將被包括在工作卡上。

最後,您可以指定關鍵字參數,如NOTIFY =。我不確定是否替代參數(如& USERID)在此處是有效的,除非該作業是在已啓動的任務下提交的。由於您使用SUB提交作業(根據TSO?)& USERID可能無法爲您工作。嘗試硬編碼你的用戶名。

通常,找出工作卡必須包含的最快捷方式是查看在TSO下提交的實際工作的JCL - 然後複製工作卡!

+0

所有這些都是我從TA獲得的。問題是我分配的數據集。我已經解決了這個問題(現在得到一組不同的錯誤)。不過謝謝。 – chustar 2011-03-07 17:27:33