IBM DB2令人费解的错误代码
当我试图预编译我的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 //
我想知道,如果你的工作证是有效的。您有:
//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 - 然后复制工作卡!
所有这些都是我从TA获得的。问题是我分配的数据集。我已经解决了这个问题(现在得到一组不同的错误)。不过谢谢。 – chustar 2011-03-07 17:27:33
你可以发布jcl吗? – JDU 2011-03-07 02:20:49