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

How to make an overrides on JCL to comment out the step


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

New User


Joined: 08 Aug 2006
Posts: 61
Location: Philippines

PostPosted: Wed Apr 11, 2007 11:49 am
Reply with quote

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
View user's profile Send private message
diwa_thilak

Active User


Joined: 13 Jul 2006
Posts: 205
Location: At my desk

PostPosted: Wed Apr 11, 2007 11:59 am
Reply with quote

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
View user's profile Send private message
vkphani

New User


Joined: 29 Oct 2003
Posts: 29

PostPosted: Wed Apr 11, 2007 12:12 pm
Reply with quote

Put a COND and don't execute the step which you don't want to execute.
Back to top
View user's profile Send private message
expat

Global Moderator


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

PostPosted: Wed Apr 11, 2007 12:21 pm
Reply with quote

And search before posting as this topic has been discussed a few times very recently.
Back to top
View user's profile Send private message
madlui56

New User


Joined: 08 Aug 2006
Posts: 61
Location: Philippines

PostPosted: Wed Apr 11, 2007 12:22 pm
Reply with quote

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
View user's profile Send private message
vkphani

New User


Joined: 29 Oct 2003
Posts: 29

PostPosted: Wed Apr 11, 2007 12:27 pm
Reply with 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.
Back to top
View user's profile Send private message
agkshirsagar

Active Member


Joined: 27 Feb 2007
Posts: 691
Location: Earth

PostPosted: Wed Apr 11, 2007 12:50 pm
Reply with quote

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. icon_smile.gif
Back to top
View user's profile Send private message
expat

Global Moderator


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

PostPosted: Wed Apr 11, 2007 12:54 pm
Reply with quote

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
View user's profile Send private message
expat

Global Moderator


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

PostPosted: Wed Apr 11, 2007 2:06 pm
Reply with quote

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
View user's profile Send private message
madlui56

New User


Joined: 08 Aug 2006
Posts: 61
Location: Philippines

PostPosted: Wed Apr 11, 2007 2:12 pm
Reply with quote

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
View user's profile Send private message
agkshirsagar

Active Member


Joined: 27 Feb 2007
Posts: 691
Location: Earth

PostPosted: Wed Apr 11, 2007 2:39 pm
Reply with quote

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. icon_smile.gif
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: Wed Apr 11, 2007 7:40 pm
Reply with quote

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
View user's profile Send private message
expat

Global Moderator


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

PostPosted: Wed Apr 11, 2007 7:57 pm
Reply with quote

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
View user's profile Send private message
dick scherrer

Moderator Emeritus


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

PostPosted: Wed Apr 11, 2007 8:09 pm
Reply with quote

Hi Expat,

I should have been more verbose. . . . icon_smile.gif

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
View user's profile Send private message
expat

Global Moderator


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

PostPosted: Wed Apr 11, 2007 8:14 pm
Reply with quote

And maybe I should be less pedantic ( who me icon_rolleyes.gif )

Just thinking that if there were steps following the one to be killed off......
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: Wed Apr 11, 2007 8:22 pm
Reply with quote

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" icon_smile.gif
Back to top
View user's profile Send private message
mainframe_96

New User


Joined: 18 Dec 2006
Posts: 13
Location: usa

PostPosted: Wed Apr 11, 2007 8:32 pm
Reply with quote

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
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 Return codes-Normal & Abnormal te... JCL & VSAM 7
No new posts trying to make sense of keylists TSO/ISPF 11
No new posts How to append a PS file into multiple... JCL & VSAM 3
No new posts convert file from VB to FB and use tr... DFSORT/ICETOOL 8
No new posts Forcing a step to run (even if abended) JCL & VSAM 8
Search our Forums:

Back to Top