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
