MVSFORUMS.com Forum Index MVSFORUMS.com
A Community of and for MVS Professionals
 
 FAQFAQ   SearchSearch   Quick Manuals   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Overriding sysin, sysrec00 in DSNTIAUL utility..

 
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Job Control Language(JCL)
View previous topic :: View next topic  
Author Message
vivek1983
Intermediate


Joined: 20 Apr 2006
Posts: 222
Topics: 24

PostPosted: Thu Apr 12, 2007 4:47 am    Post subject: Overriding sysin, sysrec00 in DSNTIAUL utility.. Reply with quote

Hi,

I have an issue in overriding sysin, sysrec00 in DSTIAUL utility.

Find the scenario below:
JCL:

Code:
//MYLIB  JCLLIB ORDER=TEST.PROC             
//PROC1   EXEC PROC1                                 
//STEP1.SYSIN DD DSN=TEST.SYSIN(SYSIN1)                                       
//STEP1.SYSPUNCH DD DSN=TEST.SYSPUNCH,               
//STEP1.SYSREC00 DD DSN=TEST.SYSREC00               
//*                                                       
//STEP2.SORTIN DD DSN=TEST.T1       
//STEP2.SORTOUT DD DSN=TEST.S1(+1)   
//STEP2.SYSIN DD DSN=TEST.SYSIN(SYSIN2)


PROC1:
Code:
//STEP1 EXEC DSNTIAUL
//STEPLIB  DD DSN=TTAP.TS2.DB2.APFLIB,           
//            DISP=SHR                           
//SYSPRINT DD SYSOUT=*                           
//UTPRINT  DD SYSOUT=*                           
//SYSCNTL  DD SYSOUT=*                           
//SYSREC00 DD DSN=TEST.SUBLIST.T1(+1),
//            DISP=(NEW,CATLG,DELETE),           
//            UNIT=(DISK,3),                     
//            SPACE=(TRK,(100,75),RLSE),         
//            DCB=BLKSIZE=0                       
//            DCB=(RECFM=FB,LRECL=68)             
//SYSPUNCH DD DSN=TEST.SUBLIST.T2(+1),
//            DISP=(NEW,CATLG,DELETE),           
//            UNIT=(DISK,3),                     
//            SPACE=(TRK,(100,75),RLSE),         
//            DCB=(RECFM=FB,LRECL=68)             
//SYSIN    DD DSN=TEST.SYSIN(SYSIN3), 

//STEP2 EXEC  PGM=SYNCSORT                     
//SORTIN   DD  DSN=TEST1.T1(+1),
//             DISP=SHR                           
//*                                               
//SORTOUT  DD  DSN=TEST1.S1(+1),
//             DISP=(NEW,CATLG),                   
//             UNIT=(DISK,3),                     
//             SPACE=(TRK,(100,75),RLSE),         
//             DCB=(RECFM=FB,LRECL=68)             
//*                                               
//SYSIN    DD  DSN=TEST.SYSIN(SYSIN4), 
//             DISP=SHR                           
//*                                               
//SORTLIB  DD  DSN=SYS1.SORTLIB,DISP=SHR           
//SYSPRINT DD  SYSOUT=*                           
//SYSOUT   DD  SYSOUT=*                           
//SYSUDUMP DD  SYSOUT=T                           



When I submit the JCL, the STEP2 overrides are perfectly done. But the sysin, sysrec00, syspunch in STEP1 are not overridden. The spool shows "OVERRIDDEN STEP NOT FOUND IN PROCEDURE".

Note: The PROC should not be changed in any way.

Please let me know how I can overcome this overriding issue. I have searched this forum for override issues, but couldnt find my desired solution. If I have missed something please let me know.

Thanks in advance.

Regards,
Vivek G
Back to top
View user's profile Send private message
Nic Clouston
Advanced


Joined: 01 Feb 2007
Posts: 1075
Topics: 7
Location: At Home

PostPosted: Thu Apr 12, 2007 4:58 am    Post subject: Reply with quote

Your overrides have to appear in the same sequence as the ddnames in the procedure:

your proc has this order:
SYSREC00
SYSPUNCH
SYSIN

your JCL has this order:
SYSIN
SYSPUNCH
SYSREC00
_________________
Utility and Program control cards are NOT, repeat NOT, JCL.
Back to top
View user's profile Send private message
vivek1983
Intermediate


Joined: 20 Apr 2006
Posts: 222
Topics: 24

PostPosted: Thu Apr 12, 2007 5:20 am    Post subject: Reply with quote

Nic Clouston,

I changed the order the same way as in the PROC.

But the problem still persists.

I checked the spool and found out that DSNTIAUL is treated as a proc.
My guess is that the override is not working because nested proc is involved. I am overriding only the outer proc. Please correct me if I am wrong.

Is it possible to skip STEP1 in the proc1 and replace with another step written in the JCL itself to tailor my needs?

Thanks and Regards.
Vivek G
_________________
Vivek G
--------------------------------------
A dream is just a dream. A goal is a dream with a plan and a deadline. (Harvey Mackay)
Back to top
View user's profile Send private message
expat
Intermediate


Joined: 01 Mar 2007
Posts: 475
Topics: 9
Location: Welsh Wales

PostPosted: Thu Apr 12, 2007 5:43 am    Post subject: Reply with quote

Why oh why do people use nested PROCs ??? Is there anybody out there that can give me a reasonable reason ???

They give very little, if any, gain but much more pain. Why not just run the two PROCS as level 1 PROCs and save yourself the trouble.

As a quick fix
Code:

//PROC1ST EXEC DSNTIAUL
//STEP1.SYSIN DD DSN=TEST.SYSIN(SYSIN1)                                       
//STEP1.SYSPUNCH DD DSN=TEST.SYSPUNCH,               
//STEP1.SYSREC00 DD DSN=TEST.SYSREC00               
//PROC1   EXEC PROC1,COND.STEP1=(0,LE)
//*                                                       
//STEP2.SORTIN DD DSN=TEST.T1       
//STEP2.SORTOUT DD DSN=TEST.S1(+1)   
//STEP2.SYSIN DD DSN=TEST.SYSIN(SYSIN2)

_________________
If it's true that we are here to help others,
then what exactly are the others here for ?
Back to top
View user's profile Send private message
Nic Clouston
Advanced


Joined: 01 Feb 2007
Posts: 1075
Topics: 7
Location: At Home

PostPosted: Thu Apr 12, 2007 5:46 am    Post subject: Reply with quote

I am not sure about the syntax for overriding ddnames in a nested proc because I avoid them like the plague - gets too complex and hurts my braincell. The syntax is in the manual because I was browsing for something else just an hour ago and went past it - but did not look at it. Busy now so cannot look.
_________________
Utility and Program control cards are NOT, repeat NOT, JCL.
Back to top
View user's profile Send private message
vivek1983
Intermediate


Joined: 20 Apr 2006
Posts: 222
Topics: 24

PostPosted: Thu Apr 12, 2007 6:08 am    Post subject: Reply with quote

expat, Nic Clouston,


Thanks for your responses.

Regards,
vivek G
_________________
Vivek G
--------------------------------------
A dream is just a dream. A goal is a dream with a plan and a deadline. (Harvey Mackay)
Back to top
View user's profile Send private message
expat
Intermediate


Joined: 01 Mar 2007
Posts: 475
Topics: 9
Location: Welsh Wales

PostPosted: Thu Apr 12, 2007 6:10 am    Post subject: Reply with quote

Nic,

You CAN NOT override anything other than 1st level PROCs, so the DSNTIAUL PROC that gets called can't be overridden.

ANY semi acceptable ideas on why people use nested procs - I can't think of a single one.
_________________
If it's true that we are here to help others,
then what exactly are the others here for ?
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12378
Topics: 75
Location: San Jose

PostPosted: Thu Apr 12, 2007 8:21 am    Post subject: Reply with quote

vivek1983,

Move the DSNTIAUL proc to the JCL and do the overrides.

Kolusu
_________________
Kolusu
www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Job Control Language(JCL) All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


MVSFORUMS
Powered by phpBB © 2001, 2005 phpBB Group