MVS Solutions' Thruput Manager product is able to dynamically add limiting 
"agents" to JCL based on a set of rules, so that might be worth looking at.



Jonathan Eosze | Sr Computer Sys Engr | IT Operations
Mainframe Management 1 (IMS), Information Technology, USAA

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf 
Of J O Skip Robinson
Sent: Monday, April 20, 2015 11:25 AM
To: [email protected]
Subject: EXTERNAL: Re: ENQ for the life of the job

OP is clear about not wanting to change JCL. I've never tried anything like 
this, but maybe code in a system exit would work. I'm thinking of either JES or 
SMF, both of which have exit points at job initialization and termination. 

One issue not mentioned so far is how any transparent mechanism is supposed to 
know which 'program name' to enqueue on. I assume that varies by job. Also, 
could a particular job execute more than one such program and therefore need 
multiple enqueues? Just another consideration...

.
.
.
J.O.Skip Robinson
Southern California Edison Company
Electric Dragon Team Paddler 
SHARE MVS Program Co-Manager
626-302-7535 Office
323-715-0595 Mobile
[email protected]

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf 
Of Staller, Allan
Sent: Monday, April 20, 2015 8:57 AM
To: [email protected]
Subject: Re: ENQ for the life of the job

As previously suggested,  initial IEFBR14 step (e.g.) 

//step1 exec pgm=iefbr14
//dd1    dd dsn=hlq.program,disp=(mod,pass),space=(trk,1,1),unit=sysda 

And simply never reference hlq.program in the jobstream.

This will prevent multiple concurrent processes on the same program and is a 
lot less work than some of the other suggestions in this thread.

HTH,
<snip>
The job is performing a change management system operation (moving a new 
program version to production, saving previous generations, providing for 
possible fallback, etc.).  The operation for various reasons must be performed 
in several job steps. We want to ENQ on the name of the program being handled 
to prevent other operations or changes being made to that program in parallel. 
Of course the ENQ must remain in effect for the duration of the entire 
operation.
+++++

On Mon, Apr 20, 2015 at 6:19 PM, Jousma, David <[email protected]> wrote:

> Maybe if you can explain in more detail what situation you are trying 
> to solve for would help?
>
> _________________________________________________________________
> Dave Jousma
> Assistant Vice President, Mainframe Engineering [email protected]
> 1830 East Paris, Grand Rapids, MI  49546 MD RSCB2H p 616.653.8429 f
> 616.653.2717
</snip>
>
>
>
> -----Original Message-----
> From: IBM Mainframe Discussion List [mailto:[email protected]] 
> On Behalf Of Steff Gladstone
> Sent: Monday, April 20, 2015 11:18 AM
> To: [email protected]
> Subject: Re: ENQ for the life of the job
>
> I suppose a final job-step to do the DEQ with COND=EVEN would not 
> always do the trick. As I recall there are some types of abends that 
> flush the job including steps with COND=EVEN, right?
>
> On Mon, Apr 20, 2015 at 6:09 PM, John McKown 
> <[email protected]
> >
> wrote:
>
> > On Mon, Apr 20, 2015 at 9:41 AM, Steff Gladstone < 
> > [email protected]>
> > wrote:
> >
> > > The ENQ has to be transparent to the JCL.   Could I dynamically
> allocate
> > a
> > > dataset with DISP=(OLD,PASS)?  As I recall the dynamic allocation 
> > > does
> > not
> > > permit the use of PASS.
> > >
> >
> > ​Hum, I'm going to go way out on a limb and start sawing. <grin/>
> >
> > I wonder if it would be possible to do a directed ENQ of a SYSDSN to 
> > the initiator TCB and then modify the SWA  to "generate" the 
> > internal information for a DD and place that as if it had been in a 
> > DD in the JCL. I am likely not saying that very well. But I'm 
> > thinking that products like
> > CA-11 do this sort of thing for restart (in order to change GDG 
> > generation numbers). If this were possible, then perhaps the 
> > initiator would do the DEQ at end of job.
> >
> > Perhaps Chris, or another ISV person, would know.​
> >
> >
> >
> > >
> > >
> > > On Mon, Apr 20, 2015 at 5:30 PM, Blaicher, Christopher Y. < 
> > > [email protected]> wrote:
> > >
> > > > I guess you could do that, assign the initiator TCB to the ENQ, 
> > > > but
> > what
> > > > happens if the job abends before the step you do the DEQ in?
> > > >
> > > > I think this will work - If the purpose is to prevent two 
> > > > similar processes, then why not use a common data set and 
> > > > allocate it as DISP=(OLD,PASS).  That way the ENQ on the data 
> > > > set will last for the duration of the job, and if it dies early 
> > > > the ENQ automatically goes
> > > away.


----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to