On Mon, Apr 20, 2015 at 10:36 AM, Steff Gladstone <[email protected]
> wrote:

> 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.
>
>
​OK, with your kind indulgence, I will make a suggestion which many may
consider "obscene". You can use UNIX services to fork() and run another
program (exec() or execmvs() ) in a separate address space. (you could use
ASCRE instead to avoid UNIX). This other program, running in the separate
address space, runs totally independently o​f your batch job. But you can
communicate with it using a number of IPC (Inter Process Communications)
protocols such as UNIX message queues or FIFO pipes (personally, I'd use a
UNIX message queue). The other address space would do the ENQs and DEQs on
demand and they be "normal" system level enqueues. Of course, this would
require a "communications protocol" where the batch job would send the
request, wait for reply, then continue while the UNIX program would wait
for a request, ENQ/DEQ, reply, all in a loop. Each batch job would have its
own associated UNIX "daemon" (as it might be called in UNIX). In any case,
the last step of the job would be a program which tells the other address
space to DEQ everything and shut down. If there is any problem with this
other address space and it does not terminate properly, you can simply do a
normal z/OS type CANCEL command on it and "poof!" the ENQs disappear
normally. I mention this because all of this can be done by a "normal"
(non-APF) program. This may be a "selling point" as many, myself included,
dislike using APF "frivolously". Yes, this is a bit complicated. But z/OS
itself does not have a "job execution level" ENQ.


-- 
If you sent twitter messages while exploring, are you on a textpedition?

He's about as useful as a wax frying pan.

10 to the 12th power microphones = 1 Megaphone

Maranatha! <><
John McKown

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

Reply via email to