JOBWATCH Release Notes

v1.00 - Original

v1.01 - Fixed bug when using *ALL for subsystem and debug mode. Detail

lines weren't printing.

Fixed heading alignment on debug report.

v2.00 - Registration updates.

v2.01 - Registration fix. If you aquired keys for v2.00 of JOBWATCH, please contact

us for new keys for this version.

v3.00 - Added Job Maintenance screen (F6 from JOBWATCHCF command) that allows you to

set up jobs to check for activity. Enter a job name, a status you want to

check for (*ACTIVE, *JOBQ, *OUTQ, or *ANY for every status) and the minimum

number of jobs matching that status to check for. If less jobs that

specified are found, the command entered will be run.

v3.01 - Parameters &Y and &L were reversed. Fixed.

Added new parameter &E that will return then message text from the last (newest)

message from the job log in question.

(SP111006) - Updated message returned from &E to include the message


Fixed bug in message returned with garbage characters.

More error checking in returning error message text. Was

erroring when it tried to process a job that no longer


Fixed bug when returning an error message greater than

1024. Was causing an error in F.MSG that said length

or start position was greater than the receiver variable.

Fixed bug when using &E code and message had a single quote

in it.

Added feature in F6 (Job Maintenance) so in addition to

specific job names to look for, also allow the use of

wildcard values.

v3.10 - Added new option in the Job Maintenance screen to allow the

status of *MINACT. This will stand for "Minutes Active". The

MIN column can then be filled with the maximum number of minutes

you want a job to run. If this is exceeded, the command

associated will be run.

v4.00 - Added licensing by date (SaaS) option.

v4.10 - Added the replacement variable &C which will return a list of

object locks for the job in the format:


Removed &K replacement variable.

Included module JW001MD that has a procedure named JWObjLocks()

that will return a list of object locks for a specific Job,

user and job number.

Included sample program JWSAMP that shows how to use the

JWObjLocks() procedure.

Included source PF QRPGLESRC that has source for JWSAMP

Included source PF QCOPYSRC that has the /COPY member for

JW001MD prototype definition(s).

Made replacements bigger for message so that the message isn't


SP170405 - Bug found when a job had a lock on more than 100 objects. Fixed.

SP170421 - Added the following replacement parameters for the *MINACT

Job Maintenance commands. &U - User ID, &N - Job Number, &T - Job Type,

&B - Job Subtype

v5.00 - Added Message Queue Status monitoring (V7R2 or higher required). When using

JOBWATCHCF the F7 command key will allow you to set up Message Queue

monitoring by message queue, user,job, severity, etc. The replacement

variables avilable are:

&L = Message Queue Library (10)

&Q = Message Queue (10)

&I = Message ID (7)

&T = Message Type (13)

&S = Message Subtype(22)

&X = Message Text (1024)

&V = Message Severity (5)

&Z = Message Timestamp (26)

&U = From User (10)

&J = From Job (28)

&P = From Program (10)

&R = Message File Library (10)

&F = Message File (10)

&2 = Message Second Level Text (4096)

&M - Machine Name (8)

Added a TRIM option for commands that are run. By default TRIM will be

set to *YES which means the values used in substitution will be trimmed.

This option is good when you are calling a command. The value of *NO

will not trim the data. This option is good when you are calling a

program with replacement variables.

Changed the debug option to produce a stream file in the IFS vs a printer

file. The default file name is /tmp/jobwatchdebug.txt and can be

changed on the JOBWATCH command.

SP200821 - Bug found when retrieving job log messages. For one call the

Clear API wasn't being called after which could have caused

storage issues in some cases.

SP210412 - Updated application to allow 1000 watches vs 40 previously.

SP210422 - Updated debug log to show number of jobs running vs number

of jobs processed.

SP210505 - Added more debugging messaging for subsystems monitored, type

of jobs and *ACTIVE and *MINACT jobs.

SP210507 - Added a check when *ACTIVE match is met to double check the

total number of jobs running.

v5.10 - Removed &U, &N, &T, &B and &I from being used as replacement variables

when checking for a ACTIVE job counts. That's because these

really aren't available to the system when counting the number of


Added option in Job Status Maintenance to allow the monitoring

of CPU percentage. For example, no monitor for jobs over 50% CPU,

you would use the entry *C50. The command run will then be done

when a job's CPU% is greater than or equal to 50.

Added &CPU as a replacement variable for CPU and Status jobs. The

job's CPU percentage will be replaced (9,2).

When running multiple cycles, every 20 cycles the job CPU statistics

will be reset so that the job list being used to calculate the CPU

percentage is cleared of any ended jobs.

Added a message to alert the highest CPU job at the end of a run in

the JOBWATCH debug output.

SP210617 - Fixed bug when number of jobs was over 9,999.

v5.20 - Added Monitor Message Queue (MSGQ) parameter to JOBWATCH command. This

defaults to *YES. This can be useful when submitting multiple

JOBWATCH jobs and you want some to not monitor a message queue.

v5.30 - Updated to include option *ONLY for the MSGQ parameter so that you

can submit a job that only watches message queues.