Page 1 of 1

"SYSIN" PARAMETER INCORRECT

PostPosted: Wed Jan 09, 2013 9:31 am
by Nazziman
I have a COBOL program that produce report and flat file. After I compile the program using JCL, the RC = 12 and the error message in the SYSTERM is:

********************************* TOP OF DATA **********************************
DSNH003I S     DSNHIORT  FILE "SYSIN   " PARAMETERS INCORRECT                   
SOURCE STATISTICS                                                               
  SOURCE LINES READ: 0                                                         
  NUMBER OF SYMBOLS: 0                                                         
  SYMBOL TABLE BYTES EXCLUDING ATTRIBUTES: 0                                   
THERE WERE 1 MESSAGES FOR THIS PROGRAM.                                         
THERE WERE 0 MESSAGES SUPPRESSED BY THE FLAG OPTION.                           
4000 BYTES OF STORAGE WERE USED BY THE PRECOMPILER.                             
RETURN CODE IS 12                                                               
******************************** BOTTOM OF DATA ********************************


in my COBOL program, the only SYSIN parameter that I used is to accept the value from the Date-Card and I did not include the SYSIN in the compiler. the date card format is YYYYMMDD.

ACCEPT WS-CARD-DATE FROM SYSIN.
MOVE CARD-DD     TO  WS-PRT-DD 
                     WS-LETT-DD.
MOVE CARD-MM     TO  WS-PRT-MM 
                     WS-LETT-MM.
MOVE CARD-YY     TO  WS-PRT-YY 
                     WS-LETT-YY.


Date-Card
01  WS-CARD-DATE.                             
    05  CARD-YY                      PIC 9999.
    05  CARD-MM                      PIC 99. 
    05  CARD-DD                      PIC 99. 

Re: "SYSIN" PARAMETER INCORRECT

PostPosted: Wed Jan 09, 2013 1:35 pm
by BillyBoyo
Is it a DB2 program? I think you have run the precompiler with no source statements. Can you show the expanded JCL and the sysout for the step?

Re: "SYSIN" PARAMETER INCORRECT

PostPosted: Wed Jan 09, 2013 2:32 pm
by Nazziman
Yes, I need to extract data from DB2. This is my JCL for the compiler.

//NUTP41T JOB MSGCLASS=X,MSGLEVEL=(1,1),                           
//            CLASS=A                                                       
//PRECOMP  EXEC PGM=IKJEFT01,DYNAMNBR=53,REGION=4M                 
//SYSTSPRT DD SYSOUT=*                                             
//SYSTSIN  DD *                                                   
PROFILE    PREFIX(UTMT)                                           
ALLOC      DD(SYSPROC) DSN('DB2T.TSOCLIST') SHR                   
%DSNH BIND(YES) ACQUIRE(ALLOCATE) RELEASE(DEALLOCATE) ACTION(REP) -
 QUALIFIER(UTST) EXPLAIN(NO) -                                     
 -                                                                 
 CICSXLAT(NO)-                                                     
 COMPILE(NO) -                                                     
 CLIB('''UTMT.BATCH.COPYLIB''')-                                   
 DBRM('''UTYT.BATCH.DBRM(NUTP41T)''')-                             
 DECIMAL(PERIOD) DELIMIT(APOST) FLAG(I)-                           
 HOST(COBOL) ISOLATION(CS)-                                       
 INPUT('''FDSDM1.IME.TESTING.EL(NUTP41T)''')-                     
 LINECOUNT(60) LINK(NO)-                                 
 LLIB('''SYS1.DB2T.DSNLOAD''')-                           
 LOAD('''UTYT.BATCH.LOADLIB(NUTP41T)''')-                 
 LOPTION('LIB') MACRO(NO)-                               
 OUTNAME(NUTP41T)-                                       
 PLAN(NUTP41T) PRECOMP(YES)-                             
 PLIB('''UTMT.BATCH.DCLGEN''')-                           
 PRINT(NUTP41T) RCTERM(8)-                               
 RELEASE(DEALLOCATE) RETAIN(YES)-                         
 RUN(NO) RUNIN(TERM)-                                     
 RUNOUT(TERM) SOURCE(YES)-                               
 SYSTEM(DB2T) SQLDELIM(APOST)-                           
 VALIDATE(BIND) -                                         
 /* THIS LINE NEEDED TO END THE DSNH INPUT */             
//****************************************************   
//COMPLNK1 EXEC IGYWDSN,COND=(4,LT),STEG=NUTP41T,         
//          PARM.COBOL='LIB,MAP,APOST,RES,FDUMP'         
//COBOL.SYSLIB   DD DSN=UTMT.BATCH.COPYLIB,DISP=SHR       
//COBOL.SYSIN    DD DSN=UTMT.&STEG..COBOL,DISP=SHR       
//COBOL.SYSPRINT DD SYSOUT=*                             
//*                                                       
//LKED.SYSLMOD   DD DSN=UTYT.BATCH.LOADLIB(&STEG),DISP=SHR
//SYSLIB         DD DSN=UTYT.BATCH.LOADLIB,DISP=SHR       
//               DD DSN=CEE.SCEELKED,DISP=SHR             
//               DD DSN=CEE.SCEERUN,DISP=SHR             
//               DD DSN=SYS1.DB2T.DSNLOAD,DISP=SHR       
//LKED.SYSPRINT  DD SYSOUT=*                             
 /*


Also, in the JESMSGLOG, the exception code for PRECOMP is 149. can anyone explain what is exception 149?

 15.01.00 JOB07600  IEF403I NUTP41T - STARTED - TIME=15.01.00                   
 15.01.06 JOB07600  -                                                --TIMINGS (
 15.01.06 JOB07600  -JOBNAME  STEPNAME PROCSTEP    RC   EXCP   CONN    TCB    SR
 15.01.06 JOB07600  -NUTP41T  PRECOMP              12    149     32    .00    .0
 15.01.06 JOB07600  -NUTP41T  COMPLNK1 COBOL    FLUSH      0      0    .00    .0
 15.01.06 JOB07600  -NUTP41T  COMPLNK1 LKED     FLUSH      0      0    .00    .0
 15.01.06 JOB07600  -NUTP41T  CLEAN             FLUSH      0      0    .00    .0
 15.01.06 JOB07600  IEF404I NUTP41T - ENDED - TIME=15.01.06                     
 15.01.06 JOB07600  -NUTP41T  ENDED.  NAME-                     TOTAL TCB CPU TI
 15.01.06 JOB07600  $HASP395 NUTP41T  ENDED                                     
0------ JES2 JOB STATISTICS ------                                             
-  09 JAN 2013 JOB EXECUTION DATE                                               
-           67 CARDS READ                                                       
-          207 SYSOUT PRINT RECORDS                                             
-            0 SYSOUT PUNCH RECORDS                                             
-           14 SYSOUT SPOOL KBYTES                                             
-         0.10 MINUTES EXECUTION TIME                                           

Re: "SYSIN" PARAMETER INCORRECT

PostPosted: Wed Jan 09, 2013 2:37 pm
by enrico-sorichetti
Ask Your support for the procedure to be used.
Using Your own, outside your organization standards, is EVERYWHERE frowned upon!

Re: "SYSIN" PARAMETER INCORRECT

PostPosted: Wed Jan 09, 2013 3:14 pm
by BillyBoyo
EXCP is not "exception code" - have a go with Google and see if you can discover what it does mean.

In the JCL I can't see anywhere where your source program is supplied to the precompiler. Enrico has very good advice for you, and that route will be much quicker and more effective than we could offer here.

Re: "SYSIN" PARAMETER INCORRECT

PostPosted: Wed Jan 09, 2013 8:13 pm
by dick scherrer
Hello,

Where did you get the JCL you are trying to use?

You should only use the standard compile/link/bind process for your system. You should Not try to create your own.

As others have (most likely) successfully compiled and run COBOL/DB2 code on your system, there should already be standard processes. You need to talk with some co-worker or whoever supports the compiler, db2, whomever.