View previous topic :: View next topic
|
Author |
Message |
Charles Pillai
New User
Joined: 23 May 2008 Posts: 6 Location: Canberra, Australia
|
|
|
|
I have the following JCL error when I omit the SYSIN statement in the proclib. (If I include it in, I get a JCL error). However, I get a return code of o00 if I do not use a proclib but code all the statements in the JCL. The error message comes on when I am creating a file.
IDCAMS SYSTEM SERVICES
IDC3300I ERROR OPENING SYSIN
IDC3304I ** JCL STATEMENT MISSING
IDC3207I REMAINDER OF COMMAND INPUT STREAM IGNORED
The JCL statements are:
//SORT1 EXEC UB9INST6,
// TS='EXTRTXP',PT='ID',FUNC='ICP'
The proclib statemsts are:
//ALLOC01 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SP01 DD DISP=(NEW,CATLG,DELETE),
// DSN=UB9IN.&FUNC..&TS..SP01.&PT..DATA,
// LIKE=UB9IN.&FUNC..&TS..&PT..DATA,
// UNIT=(SYSDA,12),SPACE=(TRK,(1,750),RLSE)
I end up with condition code 16. How do I get rid of the errors and the messages. |
|
Back to top |
|
|
gcicchet
Senior Member
Joined: 28 Jul 2006 Posts: 1702 Location: Australia
|
|
|
|
Hi CP,
IDCAMS expects a //SYSIN DD statement
//SYSOUT DD is not requited
Gerry |
|
Back to top |
|
|
Charles Pillai
New User
Joined: 23 May 2008 Posts: 6 Location: Canberra, Australia
|
|
|
|
Yeah - but when I put he sysin statement in the proclib, I get a JCL error.
It works fine if I do not use a proclib. |
|
Back to top |
|
|
gcicchet
Senior Member
Joined: 28 Jul 2006 Posts: 1702 Location: Australia
|
|
|
|
Hi CP,
what does the SYSIN DD statement look like in the PROC.
You cannot have //SYSIN DD * in a PROC
Gerry |
|
Back to top |
|
|
gcicchet
Senior Member
Joined: 28 Jul 2006 Posts: 1702 Location: Australia
|
|
|
|
Hi CP,
instead of IDCAMS, why not use IEFBR14, no other DDNAMES are required.
Gerry |
|
Back to top |
|
|
Charles Pillai
New User
Joined: 23 May 2008 Posts: 6 Location: Canberra, Australia
|
|
|
|
I don't have it in the proc as I get a JCL error. I have it in the JCL after the proclib. This is where I det the error stated above and the condition code 16. The completion of the JCL provides the expected results and the output except for this error message.
//SORT1 EXEC UB9INST5,
// TS='EXTRTXP',PT='ID',FUNC='ICP'
//SYSIN DD *
/*
//* |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8796 Location: Welsh Wales
|
|
|
|
Have you tried .....
Code: |
//SORT1 EXEC UB9INST5,
// TS='EXTRTXP',PT='ID',FUNC='ICP'
//ALLOC01.SYSIN DD *
/*
//*
|
|
|
Back to top |
|
|
gcicchet
Senior Member
Joined: 28 Jul 2006 Posts: 1702 Location: Australia
|
|
|
|
Hi,
if the proc contained only one step, then the //SYSIN DD * should have worked, I suspect there's more than 1 STEP in the PROC.
Gerry |
|
Back to top |
|
|
Charles Pillai
New User
Joined: 23 May 2008 Posts: 6 Location: Canberra, Australia
|
|
|
|
I replaced the particular bit of code with the one supplied by you above and it worked wonderfully. Cond Code = 00 . Thanks very much. |
|
Back to top |
|
|
unni_nss
New User
Joined: 20 Sep 2005 Posts: 19
|
|
|
|
you can code like,
//step1 exec proc_name
//step2 DD DSN=DSN1,DISP=SHR
Where put all your proc statements in the DSN named DSN1. |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8796 Location: Welsh Wales
|
|
|
|
unni_nss wrote: |
you can code like,
//step1 exec proc_name
//step2 DD DSN=DSN1,DISP=SHR
Where put all your proc statements in the DSN named DSN1. |
Could you kindly explain how this relates to the SYSIN statement ??? |
|
Back to top |
|
|
silentarya
New User
Joined: 11 Mar 2007 Posts: 35 Location: Chennai
|
|
|
|
Just tested with following codes ... Worked fine for me without any error...
The proc
----------
//ALLOC01 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SP01 DD DISP=(NEW,CATLG,DELETE),
// DSN=NIST.&FUNC..&TS..&PT..DATA,
// LIKE=NIST.MYID.TEST,
// UNIT=SYSDA,SPACE=(TRK,(1,1),RLSE)
Calling code
--------------
//SORT1 EXEC UB9INST6,TS='CNTL',PT='ID',FUNC='MYID'
//SYSIN DD *
/*
Lemme know in case any comments ...... |
|
Back to top |
|
|
Pedro
Global Moderator
Joined: 01 Sep 2006 Posts: 2596 Location: Silicon Valley
|
|
|
|
rather than:
Code: |
//SORT1 EXEC UB9INST6,TS='CNTL',PT='ID',FUNC='MYID'
//SYSIN DD *
/*
|
how about
Code: |
//SORT1 EXEC UB9INST6,TS='CNTL',PT='ID',FUNC='MYID'
//SYSIN DD DUMMY
|
In the first, it says: here are the input records, but it will not find any.
In the second, it says: do not even try to find.
The result is probably the same (I did not try), but the second looks cleaner to me. |
|
Back to top |
|
|
|