|
Now, if I just reach out and DLTPGM the program currently executing inyour I
think I've just pulled the rug out from under you...the
I created a program that sends me a break message, and when I respond to
message it does a DLYJOB 66.counting
While the job was delaying, I deleted the program. The job was still
to 66, so nothing happened immediately.GCC#2
After the delay, the job displayed:
+------------------
End of Job
System:
Job: DSP01PEM User: myprofile Number: 986133---------------
Job ended abnormally.
Display the job log for more information.
----------------------+QWTPITP2
And promptly ends. The joblog shows:
*NONE Command 09/08/11 17:35:40.113403 QCADRV
QSYS 03B8 *N *N *N
Message . . . . : 1200 - DLYJOB
DLY(66)
CPC1220 Completion 50 09/08/11 17:36:46.303623
QSYS 061B *EXT *Nabnormally
Message . . . . : Job ended
because of error code MCH3203.by
Cause . . . . . : The job was ended
the system because an error wascondition
found, and the job was in a
where the process default exceptiongiven
handler (QMHPDEH) could not be
control. The system will not givein
control to QMHPDEH when the job is
between the starting phase and theproblem
problem phase, or between the
phase and the ending phase. Some oftheir
the more common error codes and
meanings follow:program
...
MCH3203 - A machine function check occurred. A
possible cause is that the program
stack for a routing step was nested too
deeply. This is probably due to
repeated calling of the programs. It may
also be caused by deleting a
that is active in the program stack.(DSPMSGD
...
If MCH3203 is not previously
described, display the message
command) to see what is causing theMCH3203
error. There is no message for
in the job log because the errorcould
occurred at a time when a message
not be sent. If there is a problemMCH3203
invoking the program that the job
routed to, using a CALL command to invoke
the program may generate the
error as a message with message dataIf
that further describes the problem.
a problem occurs when activating aQWTMCEOJ
program (*PGM), the problem may be
caused by a service program (*SRVPGM).
After clearing out QTEMP, the job ends:
CPF1164 Completion 00 09/08/11 17:37:17.841350
QSYS 0148 *EXT *N1
Message . . . . : Job
986133/myprofile/DSP01PEM ended on 09/08/11 at 17:37:17;
.122 seconds used; end code 30 .
Cause . . . . . : Job
986133/myprofile/DSP01PEM completed on 09/08/11 at
17:37:17 after it used .122 seconds
processing unit time. The job had
ending code 30. The job ended after
routing steps with a secondary endingand
code of 0. The job ending codes
their meanings are as follows: 0 - Thejob
job completed normally. 10 - The
completed normally during controlledending.
ending or controlled subsystem
20 - The job exceeded end severityjob
(ENDSEV job attribute). 30 - The
ended abnormally. ...list
So I still think a DLTPGM for a currently active program will end the job!
Paul E Musselman
On 08-Sep-2011 11:36 , Dennis wrote:
I know this post was in jest, but for the record: that won't end a
job that has an active monitor for MCH* messages.
"Musselman, Paul"<pmusselman@xxxxxxxxxxxxxxxx> wrote:
Won't the "DLTPGM" command end a running job as well? (:
FWiW...
A "call" or "transfer control" to a program that has previously been
deleted would effect an error condition that can be monitored. Though
depending on the mechanism for the call request, not necessarily
manifest to the caller as a message in thee MCH0000 range.
However AFaIK any "return" to a previous invocation in the call stack
which is to a non-existent program is not a condition that can be
monitored. In my experience, for that scenario the job ends with a
function check VLog, manifest to the *EXT program message queue as
CPC1220, even though MCH3203 is the diagnosed error code. Of course the
job could possibly continue running fine up until that return
instruction. In the lab I used to take advantage of that effect to
resolve various "loop" scenarios that others would insist required a
pwddwn\IPL to recover.
Regards, Chuck
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.