View previous topic :: View next topic
|
Author |
Message |
krishna_Murty Warnings : 2 New User
Joined: 17 Sep 2006 Posts: 24
|
|
|
|
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 |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
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 |
|
Back to top |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
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 |
|
|
krishna_Murty Warnings : 2 New User
Joined: 17 Sep 2006 Posts: 24
|
|
|
|
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 |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
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 |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
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 |
|
|
krishna_Murty Warnings : 2 New User
Joined: 17 Sep 2006 Posts: 24
|
|
|
|
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 |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
Use symbolics (&name) throughout your procs and they can be set in the JCL. |
|
Back to top |
|
|
krishna_Murty Warnings : 2 New User
Joined: 17 Sep 2006 Posts: 24
|
|
|
|
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 |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
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 |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
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 |
|
|
|