On 07-Mar-2012 09:56 , Vern Hamberg wrote:
Deleting the program - or even the DTAQ - would cause the job to end
in error - no problem in this case, maybe.
Why do you suppose either would end the job if ENDJOB does not? If
the DEQ operation does not respond to ENDJOB, then there is unlikely to
be any response by either the program going missing from the stack or
the queue object disappearing; i.e. the job is in an indefinite wait
state, pending an event which is the arrival of an entry to the queue.
That "wait" is within the LIC, not above the MI. Until something occurs
for which the LIC either must /return/ to the missing program, or the
LIC must /touch/ the queue [to notice the missing queue object], I do
not expect either generally to have any effect. Even deleting the
program and _then_ issuing ENDJOB is not going to assist, if the origin
for the ENDJOB having no effect is per the dequeue instruction never
returning from the LIC.
Regardless, anything other than investigating the reason the ENDJOB
is not properly effected, is little more than a circumvention, and
whatever the problem is will almost surely remain. IMO the problem is
best determined and eliminated, to prevent recurrence, esp. during
actual production work instead of just during testing.