One thing you can do is write up a program to run at, say 6:00 PM, that does the following.
1. Lists the jobs running in QINTER. You can use the List Job (QUSLJOB) API to put a list of active jobs into a user space that you can then read through.
Format JOBL0200 will let you specify a subsystem. QUSLJOB can be found under the Work Management APIs at IBM's Info Center.
2. Force the job to end. Spin through the list of jobs generated in 1 and end each one.
If you want to check for ones that used X to end their connection you can list each job's log. You can use the DSPJOB command to print the job's log.
DSPJOB JOB(jobnbr/username/jobname) OUTPUT(*PRINT) OPTION(*JOBLOG)
The next day you can review the listed job logs.
If you want to get fancy, you can use the List Job Log Messages (QMHLJOBL) API to list the job's log to a user space then spin through the messages and writhe them to a table. QMHLJOBL can be found under the Work Management APIs at IBM's Info Center. Your table can contain...
Message Replacement Data (or the formatted message if you prefer)
You can write your own query to interrogate the data. It may be easier than manually perusing job logs.
From: midrange-l-bounces@xxxxxxxxxxxx [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Victor Hunt
Sent: Monday, May 07, 2012 8:33 AM
To: Midrange Systems Technical Discussion
Subject: Ending A "Orphaned" Program
I have a user running Windows 7 Professional 64-bit and the current version of i Access. Twice last week at the end of the working day this users PC locked up and the user just turned it off and went home. Unfortunately, the user had opened our shipping program which is a green screen program that opens many files including our order files. At 9 PM we run our end of day processes.
All users are off the system no later then 5:30 PM. Anyone who leaves their device at a menu, etc., gets signed off by the system after 2 hours so the nightly processing is not impacted. Not so with this issue. It will sit in QINTER until we kill the job manually. Unfortunately it really screws up the nightly process. Looking at the job log I see a CPF5140 followed by a CPF5503, both are dianostic messages.
Will either of these messages cause a MONITOR loop or the *PSSR error subroutine to trip so I can cancel the program? I plan to do some testing of this but I suspect since they are diagnostic messages they may not. Is there another way to interrupt the program and attempt to end it if this happens? Perhaps just ending QINTER prior to nightly processing resolves this issue.
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/midrange-l