View previous topic :: View next topic
|
Author |
Message |
madlui56
New User
Joined: 08 Aug 2006 Posts: 61 Location: Philippines
|
|
|
|
How to make an overrides on JCL where your change is to comment out the step in your PROCLIB..?
For example:
In your PROCLIB, you have the following:
//STEP090 EXEC PGM=MULTIGEN,....
then you want to comment this line thru your JCL not putting a hardcode
comment on the PROC itself.
Thanks. |
|
Back to top |
|
|
diwa_thilak
Active User
Joined: 13 Jul 2006 Posts: 205 Location: At my desk
|
|
|
|
Hi,
Quote: |
then you want to comment this line thru your JCL not putting a hardcode comment on the PROC itself.
|
What do you meant by this ?
Do you mean to say, that you want to skip a particular step in your job ?
If so, then you can use the condition paramater in the step. (or) you can go for IF -Then- Else condition to test for conditions.
Do give your exact requirement to find a solution.
Thanks,
Diwakar
-----------------------------
Nobody is perfect. I am Nobody |
|
Back to top |
|
|
vkphani
New User
Joined: 29 Oct 2003 Posts: 29
|
|
|
|
Put a COND and don't execute the step which you don't want to execute. |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
And search before posting as this topic has been discussed a few times very recently. |
|
Back to top |
|
|
madlui56
New User
Joined: 08 Aug 2006 Posts: 61 Location: Philippines
|
|
|
|
Yeah its just like not performing that step and i want to do that thru JCL overrides.
What command specific line codes that could be coded within the JCL to
or so as not to evecute the step in PROCLIB.
Thanks. |
|
Back to top |
|
|
vkphani
New User
Joined: 29 Oct 2003 Posts: 29
|
|
|
|
Suppose the step name in JCL is STEP1, then you have to code like this.
//STEP1.STEP090 EXEC PGM=MULTIGEN,COND=(0,LT,STEP080)
STEP080 may be the prior step to STEP090. |
|
Back to top |
|
|
agkshirsagar
Active Member
Joined: 27 Feb 2007 Posts: 691 Location: Earth
|
|
|
|
If I am getting the question correctly then,madlui56 wants to do this-
suppose in a cataloged procedure she has a stmt like
//step10 exec pgm=abc
now by 'overriding' this means being able to do
//step10 exec pgm=DEF
or
replace the line completely by a comment
//*step10 exec pgm=abc
something analogous to COPY <> REPLACING does in COBOL code.
I dont think that is possible.
madlui56, please correct me if I am diverted here. |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
Quote: |
Suppose the step name in JCL is STEP1, then you have to code like this.
//STEP1.STEP090 EXEC PGM=MULTIGEN,COND=(0,LT,STEP080)
STEP080 may be the prior step to STEP090. |
Mmmmmmmmmmmmmmmmm, interesting concept.
Let's take a look at this.
OK, so you are executing PGM=MULTIGEN here, NOT the required procedure, which you have named STEP1. Did you actually try coding this and running it ??? Methinks a big big NO is the answer
What happens if STEP080 is conditionally executed and for this particular run the conditions are met for STEP080 NOT to run ? Because the step did not run the condition is demmed as not met so STEP090 WILL process.
Let us call the actual procedure PROC99, and we wish to stop STEP090 from executing from within that procedure.
//STEP1 EXEC PROC99
//STEP1 EXEC PROC99,COND.STEP090=(0,LE)
And for the OP,
Quote: |
And search before posting as this topic has been discussed a few times very recently. |
The time you have spent typing things into this thread, I'm sure that you could have easily found the solution yourself by using the search facility of this forum. |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
And ....................... one last point
Quote: |
//STEP1.STEP090 EXEC PGM=MULTIGEN,COND=(0,LT,STEP080) |
If STEP080 returns a code 0, 0 will not be LT 0 it will be equal to 0, so STEP090 WILL run. This is why I always use 0,LE. |
|
Back to top |
|
|
madlui56
New User
Joined: 08 Aug 2006 Posts: 61 Location: Philippines
|
|
|
|
you are right Abhijit.. that's what I meant with my query. override the PROC step with another line or replacing it with a comment.Could this be possible..the latter one.
Thanks |
|
Back to top |
|
|
agkshirsagar
Active Member
Joined: 27 Feb 2007 Posts: 691 Location: Earth
|
|
|
|
Loui,
What you are asking may not be possible, however what you actually need may be achieved using the existing things.
If you dont want to execute some program then use cond param OR IF THEN ELSE as others are suggesting.
Or in future you may like to develop a program or REXX utility which will preprocess the procedure and jcl together to achieve what you are asking now.
Good luck. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
To override something already existing, use the COND=(0,LE). No need to reference a step.
It is a good idea to focus on what you need to accomplish rather than some particular way to do it. |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
Dick,
There is a need to specify the step within the PROC. If you just code
//PROCNAME EXEC PROCNAME,COND=(0,LE)
Then only the first step of the PROC will run as the COND= on the EXEC statement will apply to all steps within the PROC. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hi Expat,
I should have been more verbose. . . .
There is no need for a step on the COND=(0,LE). Yes, the step to be skipped needs to be named in the override.
It was my understanding that only 1 step was to be skipped, so using the 0,LE on the step to be skipped would allow all of the others to execute while skipping the step overridden. |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
And maybe I should be less pedantic ( who me )
Just thinking that if there were steps following the one to be killed off...... |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
Not positive (i'm away from my mainframes so i can't drop in a little verification test), but if the 0,LE override was placed on step39, the execution of step40 thru steplast would not be interrupted.
I believe only step39 would be "killed off" |
|
Back to top |
|
|
mainframe_96
New User
Joined: 18 Dec 2006 Posts: 13 Location: usa
|
|
|
|
If You need to comment out based on execution of previous step
then use if -then-else
something like
#step2vr IF step1.RC = 0
then over ride &pgm in proc to Iefbr14.
if you just want to comment out the program one time
Step01 Exec procname, &pgm=iefbr14
In the proc change the program name to &pgm |
|
Back to top |
|
|
|