How many times have you asked your AS/400 users to please sign off the system when they leave for lunch break or for the day? If you have a security problem or your night processing aborts because there is a workstation left signed on somewhere, you can use the following method to solve your troubles.
System value QINACTITV contains the number of minutes an inactive job is allowed to remain on the system before automatic action is taken. Thirty minutes is perhaps a length of time generous enough. Run the following command:
CHGSYSVAL SYSVAL(QINACTITV) + VALUE('30')
What action is taken depends on system value QINACTMSGQ. This system value contains either the qualified name of a message queue where a message is sent, or the value '*ENDJOB' if the job is to be ended, or '*DSCJOB' if it is to be disconnected. '*DSCJOB' is available for the first time on Release 3.0. To solve your problem, you could set it to '*DSCJOB', as follows:
CHGSYSVAL SYSVAL(QINACTMSGQ) + VALUE('*DSCJOB')
Because the job is simply disconnected, the user can return to his or her job and resume it at the exact point where he or she left by simply signing on to the same workstation, using the same user profile name.
But wait. If the job is only disconnected, the night processing may still abort if there is a conflict of object allocations, for example. What we need is to end these jobs. Try the following:
CHGSYSVAL SYSVAL(QDSCJOBITV) + VALUE('60')
Now all interactive jobs will end automatically sixty minutes after being disconnected - whether this disconnection was manual (DSCJOB command) or automatic.