IBM DB2 Obscure Error Code

1.7k views Asked by At

When I try to precompile my COBOL application, using by running SUB on a JCL file, I get this error:

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

I've tried looking online with no success. Does anyone know what this is referring to?

Here is my JCL file

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

There are 1 answers

1
NealB On BEST ANSWER

I am wondering if your JOB card is valid. You have:

//ZUSER13A JOB NOTIFY=&SYSUID    

the JCL Job card format is:

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

The jobname is required, you have that: ZUSER13A

The keyword JOB is where it should be. So far so good...

You do not have any accounting-info. Depending on your installation this may or may not be required (it often is). The format for accounting-info is installantion defined so you will have to ask someone about it. Note the parenthesis are optional only if the accounting-info does not contain an imbedded comma or other special characters.

Next there must be a comma if there is anything else specified on the job card. This is not optional and may be the cause of your problem.

Following the comma should be some sort name enclosed in quotes. For example 'PRECOMP'. There may be installation specific rules for this too.

Next there must be another comma if any keyword-parameters are to be included on the job card.

Finally, you may specify keyword parameters such as NOTIFY=. I am unsure whether substitution parameters such as &USERID would be valid here unless the job were submitted under a started task. Since you are using SUB to submit the job (under TSO?) the &USERID may not work for you either. Try hardcoding your user-id.

Often the quickest way to work out what a job card must contain is to look at a piece of JCL that actually did work when submitted under TSO - then copy the job card!