IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Overrriding DD CARD for multiple PROC


IBM Mainframe Forums -> JCL & VSAM
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
krishna_Murty
Warnings : 2

New User


Joined: 17 Sep 2006
Posts: 24

PostPosted: Mon Aug 20, 2007 3:08 pm
Reply with quote

I have a JCL, which calls PROC1, this PROC1 inturn calls PROC2.
My requirement is to override SYSUT1 in PROC2 from existing
YPRT.WIRE20.JCL(INPUT) to YPRT.WIRE20.JCL(NEWIN)
in JCL itself. Can some one help me out. PROC1 and PROC2 should not be touched.
JCL

//JCLCARD1 JOB (00400),'SAB8932',CLASS=B,MSGCLASS=Z,
// REGION=5M,NOTIFY=&SYSUID
//PROC JCLLIB ORDER=(YPRT.WIRE20.JCL,YPRT.WIRE20.PROC)
//STPCARD1 EXEC GCALLPRC
//*


PROC1

//GCALLPRC PROC
//START000 EXEC GCALLPR2



PROC2

//GCALLPR2 PROC
//IEBGEN1 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DSN=YPRT.WIRE20.JCL(INPUT),DISP=SHR
//SYSUT2 DD DSN=YPRT.WIRE.PRC.TSTL,
// DISP=(,CATLG,DELETE),
// UNIT=TESTDA,
// SPACE=(TRK,(100,50),RLSE),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=0)
//SYSOUT DD SYSOUT=*
//SYSIN DD DUMMY
//*



------------
REGARDS
KRISHNA
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Mon Aug 20, 2007 3:59 pm
Reply with quote

No, you can not do this.

You can not apply overrides to nested procedures, only the level 1 proc.

Why people use nested procs is beyond me for exactly this reason icon_sad.gif
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Mon Aug 20, 2007 4:13 pm
Reply with quote

They could solve the problem with symbolics, but since they used nested procs they probably know very little about JCL to start with.
Back to top
View user's profile Send private message
krishna_Murty
Warnings : 2

New User


Joined: 17 Sep 2006
Posts: 24

PostPosted: Mon Aug 20, 2007 4:19 pm
Reply with quote

Thank you for the immediate responses. I have this requirement because my Proc is only one level. But my proc step is EXEC SAS, which is executing a SAS procedure. So unlike SORT or Cobol program steps, this SAS step which is already with in a PROC is calling a second system level proc called SAS.
Hence for this reason i require overriding of DD card available in SAS step.

Anyways thanks for the replies.

Regards
Krishna
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Mon Aug 20, 2007 4:50 pm
Reply with quote

The remove the 1st level proc and code it in your JCL so that the SAS proc is a 1st level proc thus enabling you to perform overrides.
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Mon Aug 20, 2007 4:53 pm
Reply with quote

especially since you are being so silly as to make a proc out of a proc call.
Quote:

PROC1

//GCALLPRC PROC
//START000 EXEC GCALLPR2



why did you make a proc than only contains 1 line of jcl?????? You created the problem for yourself!!!!!!!
Back to top
View user's profile Send private message
krishna_Murty
Warnings : 2

New User


Joined: 17 Sep 2006
Posts: 24

PostPosted: Mon Aug 20, 2007 5:43 pm
Reply with quote

Dick , i just gave the sample procs for ease. so that anyone who can give suggestions can just tell me with coding what is the override DD in JCL.

In my above example i can keep a override in PROC1, i.e, if i code
//GCALLPRC PROC
//START000 EXEC GCALLPR2
//IEBGEN1.SYSUT1 DD DSN=YPRT.WIRE20.JCL(NEWIN) ,DISP=SHR


the override is working. But this is a testing proc i created, But once it
comes to System level proc i.e, SAS , those wont be available for editing. We can just see the expansion of this system level proc in the log

Hence my only way of go is JCL. If it can be done is JCL only then it would serve my purpose. Otherwise there is no use.


Regards
Krishna
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Mon Aug 20, 2007 6:52 pm
Reply with quote

Use symbolics (&name) throughout your procs and they can be set in the JCL.
Back to top
View user's profile Send private message
krishna_Murty
Warnings : 2

New User


Joined: 17 Sep 2006
Posts: 24

PostPosted: Tue Aug 21, 2007 10:16 am
Reply with quote

Yeah Dick, but the point here is my 1st PROC is EXEC SAS and 2nd PROC is SASHOST with input and output DD cards, both 1st & 2nd PROCS are production components with full dataset names without any &s, and also I should not touch , I just need to manipulate i.e, change the input dataset through JCL.

AnywaysI am copied the 2nd proc in test environment and directly changed the dataset, but if there is any means of override of input dataset through JCL, I would be so glad.

Because for all the other testings on SORTS, PGMS etc I just manipulate the input and output datasets through overriding in JCL, and I could not do this for this SAS steps, I posed this question.

Regards
Krishna
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Tue Aug 21, 2007 6:32 pm
Reply with quote

Hello,

If this will be an ongoing requirement, someone will need to change the existing production jcl. For my $.02, nested procs should be avoided.

IBM has not announced a way to do your type of nested overrides (at least not that i know of), so the need must be satisfied some ofter way.
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Tue Aug 21, 2007 7:18 pm
Reply with quote

krishna_Murty,

Ok, I apologize for blaming you for working in a shop that does not implement good JCL.

Proc usage with Symbolics is basic JCL. To have Procs without symbolics sorta defeats the usage of procs.
To use nested procs and compound the problem with not using symbolics does not fall within the definition of 'Best Practices'.

As Mr. Sherrer said: either educate your ops people, or write your own JCL.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> JCL & VSAM

 


Similar Topics
Topic Forum Replies
No new posts INCLUDE OMIT COND for Multiple values... DFSORT/ICETOOL 5
No new posts Replace Multiple Field values to Othe... DFSORT/ICETOOL 12
No new posts JCL sort card - get first day and las... JCL & VSAM 9
No new posts Multiple table unload using INZUTILB DB2 2
No new posts Grouping by multiple headers DFSORT/ICETOOL 7
Search our Forums:

Back to Top