The Job Accounting tool is a series of commands that let you work
with the job accounting entries from the QACGJRN journal. You may
either display the entries using several different access paths or
print the entries using different selection and sequencing criteria.
Job accounting entries from multiple systems may be stored in the
same data base.
Trying it out
-------------
There are a lot of things you can consider with Job Accounting, but
if you just want to try it out, do the following:
** Create a journal receiver:
CRTJRNRCV JRNRCV(QGPL/ACG00001)
TEXT('Accounting receiver')
** Create a journal (it must have the name QACGJRN and exist in
QSYS):
CRTJRN JRN(QSYS/QACGJRN)
JRNRCV(QGPL/ACG00001)
TEXT('Accounting journal')
** Use WRKSYSVAL SYSVAL(QACGLVL). Use the Change option. The
value should at least include *JOB.
** Create the files needed for the JOBACG tool in a library of
your choice:
CRTJOBACG JOBACGLIB(xxx)
** Let several new jobs complete before converting the entries in
the next step.
** Convert the QACGJRN entries to the JOBACG files in the library
you specified.
CVTJOBACG JOBACGLIB(xxx)
** Display the entries with the command
DSPJOBACG JOBACGLIB(xxx)
** Analyze the entries with the command
ANZJOBACG JOBACGLIB(xxx)
More on Job Accounting
----------------------
It is not necessary to use job accounting codes to gain the benefits
of the job accounting tool. You may display the entries by date, by
job, or by user without using job accounting codes. You must
however, have the Job Accounting journal in existence.
A separate tool (PRTACG) exists to handle print accounting entries.
The QACGJRN journal entries must be converted to a data base file
before the display or print functions may be used. Special commands
exist to create the required data base files and convert the journal.
Additional tools you may want to consider are DSPACGRCD, DSPACGSGN
and CVTJOBACG3.
Creating the Job Accounting Journal
-----------------------------------
If you have not already created the Job Accounting journal and
specified the QACGLVL system value, do the following steps as the
Security Officer (the library QGPL is used for the Journal receiver,
but any user library may be used):
** Create a journal receiver:
CRTJRNRCV JRNRCV(QGPL/ACG00001)
TEXT('Accounting receiver')
The Job Accounting tool does not require a special naming
convention for the journal receivers. However, a convention
such as ACG00001 is recommended.
** Create a journal (it must have the name QACGJRN and exist in
QSYS):
CRTJRN JRN(QSYS/QACGJRN)
JRNRCV(QGPL/ACG00001)
TEXT('Accounting journal')
** Use WRKSYSVAL SYSVAL(QACGLVL). Use the Change option. The
value should at least include *JOB.
Creating the required data base files
-------------------------------------
The CRTJOBACG command creates the files used by the JOBACG function.
A typical command would be:
CRTJOBACG JOBACGLIB(xxx)
You can have multiple sets of job accounting files, but only one set
per library. A single physical file JOBACGP is created and 5 logical
files.
The default for public access is *USE on CRTJOBACG. You may change
this to *EXCLUDE or *LIBCRTAUT.
If you have created the required files and then wish to delete them,
the special command DLTJOBACG should be used.
Converting the journal entries
------------------------------
You need to convert the journal entries to the data base files before
displaying or printing them. There are two methods of converting the
accounting entries:
** CVTJOBACG command which is part of the JOBACG tool is a batch
like function which would be used periodically.
** CVTJOBACG3 command which is part of the CVTJOBACG3 tool
provides a solution for continuous conversion by using a
program which waits for entries to arrive on the journal. See
the discussion with the CVTJOBACG3 tool.
The following discussion refers to the CVTJOBACG command.
To convert the QACGJRN entries from your own system specify:
CVTJOBACG JOBACGLIB(xxx)
CVTJOBACG should be specified on a regular basis such as once or
twice a day. If you have a 'start of day' or 'end of day' procedure,
CVTJOBACG could be included or as a 'time dependent scheduling' job.
If you change the Job Accounting journal receiver at the end of the
day, you should follow this process with a CVTJOBACG command.
An option exists on CVTJOBACG to allow a new journal receiver to be
generated. You may use this option on CVTJOBACG and then a command
like the TAA Tool MTNJRN to delete the old receivers. If you use
both JOBACG and PRTACG, you will want to use both CVTJOBACG and
CVTPRTACG before deleting the old receivers.
CVTJOBACG has the smarts to determine the last entry that was
converted for the current system and will only convert the journal
entries that have occurred after that point. Therefore, you may run
CVTJOBACG whenever required to convert the current entries without
concerning yourself about duplicating the entries.
The process that CVTJOBACG uses is to determine the last entry that
was converted previously. The journal receiver containing the entry
will be converted to a data base file and read. Conversion to the
Job Accounting file does not start until entries which do not exist
in the Job Accounting file are read. Therefore, to minimize
conversion of the journal receivers during your regular use of
CVTJOBACG, you should switch to a new receiver before using
CVTJOBACG. This causes both the old and new receivers to be read.
Once the entries from the old receiver have been converted, the old
receiver will never be converted again.
In V5R3, the system CRTJRN command changed the default of MNGRCV to
*SYSTEM. This means the system will change the journal receiver at
each IPL and reset the sequence number to 1 for the new receiver.
The Job Accounting tool was also changed in V5R3 so that it is
tolerant of a reset in sequence numbers.
Note that neither DSPJOBACG, ANZJOBACG, PRTJOBACG, nor PRTJOBACG3
convert the journal. The information will only be as current as the
last use of CVTJOBACG.
You must periodically clean out old entries from the data base files.
A special command MTNJOBACG is provided for this function. See the
later discussion.
A special command CVTJOBACG2 is used for converting journal entries
from other systems that you want to store in the same data base. See
the later discussion of CVTJOBACG2.
Displaying the entries
----------------------
The DSPJOBACG command is used to display the accounting data in a
subfile. There are two approaches in the use of the command:
** Using the defaults (no selection criteria) to begin the
display with the first job of the current day. Use the
'position to' and F9 key to limit and resequence the display.
** Specifying selection criteria to determine what is displayed.
Both approaches may be used, but it is generally advisable to not use
both on the same use of the DSPJOBACG command.
There will be will be one journal entry for each job completed on the
system (more entries may exist if you use CHGACGCDE during job
processing).
Journal entries have a common set of standard fields followed by
variable information termed 'entry data'. Each journal entry has a
one byte journal code and a 2 byte journal entry type. Different
journal codes may appear in the QACGJRN journal, but you will only
see the 'A' codes which are the 'accounting entries' and the 'JB'
journal entry types which are the job summary entries (See later
discussion of Job Accounting Segments caused by CHGACGCDE).
The F6 key is also supported to allow you to prompt for the PRTJOBACG
command.
The DSPACGRCD tool allows you to display the last record for a job
name. See the discussion with the DSPACGRCD tool.
Option 6 from the subfile display prompts for the DSPAUDCMD TAA
function. The user must have been specified as CHGUSRAUD
AUDLVL(*CMD). You must be using the Audit Journal (QAUDJRN). The
commands entered for the job would be displayed.
Securing the JOBACGP file
-------------------------
The *PUBLIC has *USE authority to the JOBACGP. While this prevents
any changes from being made by the *PUBLIC user, there is no way to
prevent an *ALLOBJ user from changing one or more records. What you
can do is audit that a change occurred. See the CHKJOBACGP tool.
Using the DSPJOBACG defaults
----------------------------
The command would be entered without any of the selection parameters
specified using the default STRDATE(*CURRENT):
DSPJOBACG JOBACGLIB(xxx)
A subfile is displayed with the first record that matches the current
date. The 'job end date' in the accounting record is used for the
comparison. If no record matches the current date, the first record
prior is displayed. You may use the 'position to' values to position
to a prior date and time. You may use the F9 key to request the
prompt that changes the sequence in which the records are displayed.
Using the DSPJOBACG selection parameters
----------------------------------------
DSPJOBACG supports several parameters to allow you to select what
will appear in the subfile. If you use the selection criteria, only
the accounting records which are selected will appear regardless of
the use of the 'position to' values or the F9 key to change the
access path being used.
A typical command would be to display all accounting records for a
specific job name between a date range such as:
DSPJOBACG JOBACGLIB(xxx) STRDATE(yymmdd)
ENDDATE(yymmdd) JOB(xxxxx)
Some selection options may be used, but the information can only be
seen on the detail display. For example, you may specify the minimum
'number of transactions' and the jobs that meet the criteria will be
displayed in the subfile. However, the 'number of transactions'
information can only be seen on the detail display.
Analyzing the entries (ANZJOBACG)
---------------------------------
The ANZJOBACG command should be used instead of the old versions
PRTJOBACG and PRTJOBACG3 which are still included in the tool.
ANZJOBACG defaults to display a listing of the entries you have
selected. Using SEQBY(*USERTOT) provides a one line summary by user.
Using SEQBY(*JOBTOT) provides a one line summary by job name. A
variety of sequencing and selection options exist. The basic listing
is one line per data base record. Additional information may be
listed on additional lines using the EXTPRT parameter. This includes
print information such as how may pages were output by the program,
but it is not known whether the spooled file was actually printed to
hard copy.
A typical command to list job accounting entries for a specific user
in job start time sequence would be:
ANZJOBACG SEQBY(*STRDATTIM) USRPRF(xxx)
Printing the entries (PRTJOBACG and PRTJOBACG3)
-----------------------------------------------
The Print Job Accounting command allows you to print the entries
using different selection and sequencing. For example, if you wanted
to print in order by user name for a specific entry type, you would
specify:
PRTJOBACG SEQ(*USER) JOBACGLIB(xxx)
SEQ(*USER2) outputs the same listing with totals for each user.
SEQ(*USER3) outputs only the summary lines for each user.
The command uses OPNQRYF to select and sequence the records and then
prints the records in a standard format.
There is not enough room to print all of the possible information in
a single line of print. By default, a fixed set of fields prints on
a single line. Two options exist to change the printing:
** AVGRSP(*YES) may be specified to substitute the Average
Response time for the Auxiliary I/O field. AVGRSP(*YES) may
only be specified when requesting all job types or just
interactive job types.
** EXTPRT(*YES) may be specified to print multiple lines per
accounting entry.
The PRTJOBACG3 command is similar. It provides a simple method of
finding the jobs by completion code.
Maintaining the Job Accounting files
------------------------------------
The CVTJOBACG command converts entries into the job accounting file.
A separate command MTNJOBACG is used to delete entries.
You would typically run MTNJOBACG periodically based on your
retention period of Job Accounting entries. The command supports the
RTNDAYS parameter which allows you to name your retention period in
days.
A typical command would be:
MTNJOBACG RTNDAYS(30) JOBACGLIB(xxx)
This would remove all the entries that are 30 days prior to the
current date.
Swapping a user profile
-----------------------
The system program QWTSETP allows a swap of a user profile during a
job (see also the simple front end TAA Tool SWPUSRPRF).
The system job accounting function is not informed of a profile swap.
The user profile of the job is still considered for job accounting
purposes and not the current user.
Comparison with the Print Accounting tool
-----------------------------------------
The Job Accounting entry will contain summary information for the
number of print files, pages and lines written. This information is
based on what the program does and does not consider whether any hard
copy print actually occurred.
Print Accounting has the hard copy information. The system will
generate one journal entry for every file that is actually printed to
hard copy either from a spooled file or directly printed from a
program.
PRTJOBQTIM Tool
---------------
The PRTJOBQTIM tool will allow an analysis of the time that batch
jobs have spent on a job queue waiting to go active.
Locking considerations
----------------------
CVTJOBACG and CVTJOBACG2 require *SHRNUP locks on the JOBACGP file.
MTNJOBACG requires an *EXCL lock on the JOBACGP file (the file is
cleared as part of the processing).
Writing your own programs against the JOBACG files
--------------------------------------------------
The PRTJOBACG and PRTJOBACG3 commands provide basic listings and are
limited to printing the entries from a single system.
You may write your own programs or queries against the JOBACGP file.
It is an externally described file in arrival sequence. The format
name is ACGRCDR.
Job Accounting Segments
-----------------------
When Job Accounting is active, the system writes a job accounting
journal entry at the end of every job. A journal entry is also
written whenever CHGACGCDE is used. The intent of CHGACGCDE is to
allow for different segments of a job to be considered in different
accounting codes. A different segment may also exist in other cases
such as when a user profile is swapped during a job.
The Job Accounting tool does not do any special processing for
segments. It considers each journal entry separately. The ANZJOBACG
tool will allow sequencing and a summary by job number.
Converting journal entries from other systems
---------------------------------------------
The JOBACG tool lets you have a single data base with job accounting
entries from one or more systems. The high order key field for all
logical files is the system name.
Or you may want to use JOBACG for multiple systems, but would rather
have unique files for each system (this would require one library for
each system).
The steps described are the same whether you have one or multiple
sets of files.
In the following discussion, the term 'master system' means the
system where JOBACG will be run. The term 'remote system' means the
system that is only capturing job accounting entries, but not using
the JOBACG tool.
The CVTJOBACG command is used to convert the Job Accounting entries
from the master system.
The special command CVTJOBACG2 is used to convert journal entries
from the remote systems. CVTJOBACG2 must be run on the master
system. The remote system must do DSPJRN to get the Job Accounting
journal entries into a data base file that can be used by CVTJOBACG2.
Do the following steps:
** Use DSPJRN on the remote system to convert the Job Accounting
journal entries to a data base file. A good time to do this
would be just after converting to a new journal receiver. You
do not have to concern yourself with ensuring that the same
entry will only be converted once from the journal. When
CVTJOBACG2 is run, it will bypass any journal entries that
already exist in the JOBACG data base files.
When DSPJRN is used, you must specify OUTFILFMT(*TYPE4) and
ENTDTALEN(*CALC). A typical command would be:
DSPJRN JRN(QACGJRN) RCVRNG(*CURCHAIN) OUTPUT(*OUTFILE)
OUTFILFMT(*TYPE4) OUTFILE(xxx/DSPJRNP)
ENTDTALEN(*CALC)
** You would then transfer the DSPJRNP file to the master system.
** Then run the CVTJOBACG2 command on the master system and
specify a system name: You must ensure that the date format of
the job that ran DSPJRN is the same as the job that will run
CVTJOBACG2.
CVTJOBACG2 JRNOUTF(DSPJRNP) SYSTEM(sss) JOBACGLIB(xxx)
The system name is needed because the *TYPE4 format is used for the
journal outfile which does not contain the system name.
The job accounting information is then available to be reviewed or
printed.
Security discussion
-------------------
To work with the Job Accounting journal, the user must have *ALLOBJ
authority. JOBACG provides a method where a system operator may be
authorized to perform the CVTJOBACG function.
This occurs by use of the TAAJOBACG authorization list which allows
an authorized user to the list to use CVTJOBACG. CVTJOBACG adopts
the Security Officers profile during the conversion of the entries.
A user who has *USE authority to the authorization list may use
CVTJOBACG to any set of job accounting files.
The user authorized to the TAAJOBACG authorization list does not have
the automatic right to use DSPJOBACG, PRTJOBACG, and PRTJOBACG3.
The user who uses CRTJOBACG becomes the owner of the data base files
that are created. To minimize exposures, you must have *ALLOBJ
special authority to use CRTJOBACG. The JOBACGP physical file is
created as AUT(*USE). This prevents any other user from changing the
data in the file by default (access to the logical files is *PUBLIC).
Allowing *USE means that any user may use the functions of DSPJOBACG
or the DSPACGRCD tool.
The MTNJOBACG command deletes old entries in the JOBACGP file. To
run the command, the user must have *ALL authorization to the JOBACGP
file.
The CVTJOBACG2 command adds records to the JOBACGP file from remote
systems. A user with *ALLOBJ authority on the remote system must use
DSPJRN to convert the QACGJRN journal entries to a data base file.
The file is then placed on the master system. To run the CVTJOBACG2
command, the user must be authorized to the TAAJOBACG authorization
list.
To summarize the security:
CRTJOBACG *ALLOBJ authority
CVTJOBACG *USE to TAAJOBACG authorization list
CVTJOBACG2 *USE to TAAJOBACG authorization list
MTNJOBACG *ALL authority to JOBACGP file
DLTJOBACG *ALL authority to JOBACGP file
DSPJOBACG *USE authority to JOBACGP file
PRTJOBACG *USE authority to JOBACGP file
PRTJOBACG3 *USE authority to JOBACGP file
RTVJOBACGR *USE authority to JOBACGP file
Resetting the journal sequence number
-------------------------------------
In V5R3, the system change to the CRTJRN command using a default of
MNGRCV(*SYSTEM) causes the system to change the receiver at IPL and
restart the sequence number.
The job accounting tool was changed to be tolerant of this. You do
not have to clear the job accounting files if either the system or
you reset the sequence numbers.
CRTJOBACG Command parameters *CMD
----------------------------
JOBACGLIB The name of the library where the Job Accounting
files will be created. The physical file JOBACGP is
created along with several logical files.
SRCLIB The source library to use for the QATTDDS file
source. The default is *TAAARC. If a full license
exists, the source is used from the TAA Archive. If
a demonstration license exists, the source is used
from the QATTDDS file in the TAATOOL library.
A specific user library may be named, but the source
file must be QATTDDS.
AUT The authority to the JOBACGP file. The default is
*USE which allows any user to use DSPJOBACG or the
DSPACGRCD tool. *LIBCRTAUT or *EXCLUDE could also
be entered.
CVTJOBACG Command parameters *CMD
----------------------------
RMVALLLFM A *YES/*NO parameter for whether the logical file
members should be removed before the update program
runs and then added back after. This is a
performance option. It is generally faster to
remove the members and then add them back if a large
percentage of records will be added to the file.
*NO is the default which should be used when a small
percentage of records are added.
*YES should be specified to improve the performance
when adding a large percentage of records.
GENNEWRCV Whether to generate a new journal receiver. *NO is
the default.
*YES may be specified to cause the CHGJRN command to
occur with JRNRCV(*GEN).
JOBACGLIB The name of the library where the Job Accounting
files exist. The default is *LIBL. *CURLIB may
also be used.
FIRSTENTRY The first entry to be converted. The default is
*LASTENTRY meaning to begin from the last entry
converted. If this entry does not exist in the
journal, an error will occur. For example, if you
deleted a receiver without converting the entries,
the last entry will not exist and an error will
occur. You can bypass the error by specifying
*FIRST.
*FIRST causes all entries in the journal to be
output from DSPJRN. Only those entries which do not
exist in the JOBACGP file will be converted.
DSPJOBACG Command parameters *CMD
----------------------------
JOBACGLIB The name of the library where the Job Accounting
files exist. The default is *LIBL. *CURLIB may
also be used.
STRDATE The job start date to start the first display. The
date is compared against the 'job end date' in the
accounting record (not the 'job start date' nor the
'date the job entered the system'). The default is
*CURRENT which means the current day. A specific
date may be entered in YYMMDD format.
If a record does not exist for the date entered, the
previous record is displayed.
If *CURRENT is used, the STRDATE and STRTIME values
are used as 'position to' values in the data base.
They are not used as 'selection criteria'.
Therefore, when the subfile is displayed, a
'position to' date may be entered to re-position to
an earlier date and time.
The other selection parameters (including ENDDATE
and ENDTIME) prevent records from being displayed in
the subfile regardless of where the 'position to'
values are set.
STRDATE(*START) may be used to start the display
with the first record (oldest job end date) found in
the file.
If a specific date is entered for STRDATE, the value
(and STRTIME) are considered as 'selection criteria'
and 're-positioning' prior to the date entered on
the command will not cause any additional records to
be displayed.
STRTIME The start time of the jobs to be selected. This
value is used in conjunction with STRDATE to
determine what accounting records are selected. If
the accounting record 'job end date' matches the the
STRDATE value, the STRTIME value is used for
selection. A specific time may be entered in HHMMSS
format.
For example, if you want all jobs for the current
day that fall between 10:00:00 and 11:00:00 take the
defaults for STRDATE/ENDDATE and specify
STRTIME(100000) and ENDTIME(110000).
If you want all jobs from 05/10/09 beginning at
18:00:00 and ending on 05/11/09 at 06:00:00 specify
STRDATE(051009) STRTIME(180000) ENDDATE(051109) and
ENDTIME(060000).
ENDDATE The job end date to be included. The date is
compared against the 'job end date' (not the 'job
start date' nor the 'date the job entered the
system'). The default is *CURRENT which means the
current day. A specific date may be entered in
YYMMDD format.
ENDTIME The end time of the job to be selected. This value
is used in conjunction with ENDDATE to determine
what jobs are selected. The default is *END which
means all jobs of the ENDDATE day would be
considered.
If the accounting record 'job end date' matches the
the ENDDATE value, the ENDTIME value is used for
selection. A specific time may be entered in HHMMSS
format.
SYSTEM The system name to be selected. The default is
*CURRENT for the current system name.
A specific system name may be entered.
JOB The job name to be selected. The default is *ALL
for all job names.
A specific job name may be entered.
USER The user profile name to be selected. The default
is *ALL for all user names.
A specific user name may be entered.
JOBNBR The job number to be selected. The default is *ALL
for all job numbers.
A specific job number may be entered.
ACGCDE The accounting code to be selected. The default is
*ALL for all accounting codes (or blanks).
A specific accounting code may be entered.
JOBTYP The job type to be selected. The default is *ALL
for all job types.
A specific job type may be entered of the following:
B = Batch
A = Autostart
I = Interactive
M = Subsystem monitor
R = Spool reader
S = System job
W = Spool writer
X = Start CPF
COMPCODE The completion code to be selected. The default is
*ALL for all completion codes.
A specific completion code may be entered. The
completion codes are described in the CPF1164
message. For example, 00 = Normal, and 20 = Job
exceeded the End Severity (typical abnormal
termination).
CPUSECS The number of CPU seconds used by the job. The jobs
CPU seconds must be GE than the number specified.
The default is 0 which allows all jobs to be
considered.
A specific number of seconds may be entered such as
100 or 5.125.
NBRTRANS The number of transactions used by the job. This
applies only to interactive jobs (JOBTYP = I). The
number of transactions must be GE than the number
specified. The default is 0 which allows all jobs
to be considered.
A specific number of transactions may be entered.
AVGRESP The average response time in seconds for the job.
This applies only to interactive jobs (JOBTYP = I).
The average response time must be GE than the number
specified. The default is 0 which allows all jobs
to be considered.
A specific average response time may be entered such
as 2 (2 seconds) or 1.75 (1.75 seconds).
OMITJOB A list of up to 100 jobs to be omitted. *NONE is
the default.
OMITUSER A list of up to 100 users to be omitted. *NONE is
the default.
MTNJOBACG Command parameters *CMD
----------------------------
RTNDAYS The number of days of Job Accounting entries to
retain. The default is 30 meaning that any Job
Accounting entries with a date prior to 30 days ago
will be deleted from the file.
JOBACGLIB The name of the library where the Job Accounting
files exist. The default is *LIBL. *CURLIB may
also be used.
PRTJOBACG Command parameters *CMD
----------------------------
STRDATE The start date to be used. The default is *TODAY.
If a date is entered, it must be in job format.
*FIRST may be entered to use the date of the first
job found.
ENDDATE The end date to be entered. The default is *LAST
which means the last journal entry found. If a
specific date is needed, it must be entered in job
format.
SYSTEM The system to print the entries for. The default is
*CURRENT meaning the current system. Only the
entries from a single system may be printed.
USER Whether to print only a specific user. The default
is *ALL for all users. A specific user name may be
entered.
Depending on the USRTYP parameter, either the job
user or the current user is used. If
USRTYP(*CURUSR) is entered, all other references to
'user' refer to the current user of the job.
USRTYP The type of user to be used. *JOBTYP is the default
meaning the user name in the fully qualified job
name.
*CURUSR may be entered to mean the current user of
the job.
JOBTYP The job type to be selected. *ALL is the default.
The following are supported: *BATCH, *INT
(interactive), *SBSMON (subsystem monitor), *AUTO
(auto start job), *SPLRDR (spool reader), and
*SPLWTR (spool writer).
SEQ The sequence of the report. The default is *STRDATE
meaning the oldest date is printed first.
*USER will sequence the report by user with a detail
line per job.
*USER2 will sequence the report by user with a
detail line per job and a summary for each user.
*USER3 will sequence the report by user with only a
summary line for each user.
*CPU will sequence the jobs by the amount of CPU
used with the job with the highest amount used
first.
*TRANS will sequence the jobs by the number of
transactions entered. The job with the highest
number is shown first. Jobs with no transactions
(e.g. batch) are excluded.
*ACGCDE will sequence the jobs by the Accounting
Code assigned to the job. This causes a slightly
different format than the other SEQ values. Totals
are provided for each Accounting Code. EXTPRT(*NO)
must be specified.
*ACGCDETOT will sequence the jobs by the Accounting
Code and provide only a total for each accounting
code.
AVGRSP A *YES/*NO value that defaults to *NO which causes a
column to print for Auxiliary I/O usage. The
average response time does not print.
*YES may be entered to cause a column to print for
average response time. The Auxiliary I/O
information does not print.
EXTPRT A *YES/*NO value that defaults to *NO for an
extended print option. Specifying *YES causes
multiple lines to be printed per job. The
additional information includes start date/time,
active and suspended time, data base writes, and
data base updates/deletes.
SELTRANS Select on the number of transactions. The default
is 0.
SELCPU Select on the amount of CPU. The default is 0. The
value should be entered in seconds such as 12 or
seconds and hundredths of seconds such as 1.05.
SELAVGRSP Select on the average response time. The default is
0. The value should be entered in seconds such as 2
or seconds and hundredths such as 2.14. The average
response time does not print if AVGRSP(*NO) is
specified.
SELPRTLIN Select on the number of print lines. The default is
0.
SELDBRDS Select on the number of data base reads. The
default is 0.
SELAUXIO Select on the number auxiliary I/O requests. The
default is 0. The number of auxiliary I/O requests
does not print unless AVGRSP(*NO) is specified.
SELJOBTIM Select on the amount of job time (wall clock time).
The default is 0. The value should be entered in
minutes such as 35 or minutes and tenths such as
35.3.
JOBACGLIB The name of the library where the Job Accounting
files exist. The default is *LIBL. *CURLIB may
also be used.
PRTJOBACG3 Command parameters *CMD
-----------------------------
STRDATE The start date to be used. The default is *TODAY.
If a date is entered, it must be in job format.
*FIRST may be entered to use the date of the first
job found.
ENDDATE The end date to be entered. The default is *LAST
which means the last journal entry found. If a
specific date is needed, it must be entered in job
format.
SYSTEM The system to print the entries for. The default is
*CURRENT meaning the current system. Only the
entries from a single system may be printed.
USER Whether to print only a specific user. The default
is *ALL for all users. A specific user name may be
entered.
USERTYPE The type of user to be selected.
*JOBUSER is the default meaning the user of the job.
*CURUSER may be specified to mean the current user
profile that was swapped to during the job.
JOBTYP The job type to be selected. *ALL is the default.
The following are supported: *BATCH, *INT
(interactive), *SBSMON (subsystem monitor), *AUTO
(auto start job), *SPLRDR (spool reader), and
*SPLWTR (spool writer).
SEQ The sequence of the report. The default is *STRDATE
meaning the oldest date is printed first.
*USER can be entered to sequence the report by user.
COMPCODE The completion code to select. The default is *ALL.
A 2 digit code may be entered in the range of 00-99.
JOBACGLIB The name of the library where the Job Accounting
files exist. The default is *LIBL. *CURLIB may
also be used.
ANZJOBACG Command parameters *CMD
----------------------------
SEQBY How to sequence the output.
If you have only one job segment per job, use one of
the following values:
*STRDATTIM is the default for job start date/time
*ENDDATTIM - by job end date/time
*USER - by user profile with total by user
*USERTOT - one line summary by user name
*JOB - by job name
*JOBTOT - one line summary by job name
*JOBNBR - by job number
*JOBNBRTOT - one line summary by job number
*JOBTYP - by job type (batch, interactive...)
*CMPCDE - by completion code
*ACGCDE - by accounting code
*ACGCDETOT - one line summary by accounting code
*AVGRSP - by the average response time
*NBRTRANS - by the number of transactions
*SYNAUXIO - by the synchronous auxiliary I/O count
*ASYNAUXIO - by the asynchronous auxiliary I/O count
A value of *USER or *JOB will cause an intermediate
total.
If you have multiple segments per job, the following
may be used which will also count the number of
segments.
*JOB2 - by job name and job number
*JOBTOT2 - one line summary by job name/job number
*JOBNBR2 - by job number
*AVGRSP and *NBRTRANS values are only meaningful for
interactive jobs.
USRPRF The user profile to be selected. *ALL is the
default. A specific name or a generic name may be
entered.
USERTYPE The type of user to be selected.
*JOBUSER is the default meaning the user of the job.
*CURUSER may be specified to mean the current user
profile that was swapped to during the job.
JOB The job to be selected. *ALL is the default. A
specific name or a generic name may be entered.
BYPSYSJOB Whether to bypass system jobs. *YES is the default.
*NO may be specified to include system jobs.
The definition of a system job to the command is:
- The job and user name both start with Q
- The job does not start with Q, but the user
profile is supplied by the system. This does
not include the user profiles QPGMR, QSECOFR,
QSYSOPR, and QUSER.
FROMDATE Whether to select on the From date and time the job
was started. If the job was started on or after the
specified date and ended on or before the To date,
the accounting record will be selected.
The date defaults to *FIRST meaning the first job
accounting entry. A specific date (in job format)
may be entered or the special value *TODAY for
todays date.
If a date/time is specified that is greater than the
last entry converted from the job accounting
journal, no information will be output.
The time value defaults to *FIRST meaning the first
time of the specified From date. A specific time
may be entered in HHMMSS format.
TODATE Whether to select on the To date and time the job
was ended. If the job was ended on or before the
specified date and started on after the From date,
the accounting record will be selected.
The date defaults to *LAST meaning the last
converted job accounting entry. A specific date (in
job format) may be entered or the special value
*TODAY for todays date.
The time value defaults to *LAST meaning the last
time of the specified To date. A specific time may
be entered in HHMMSS format.
A typical error is to not convert all the available
entries. Check the listing for the date/time of the
last converted journal entry.
CMPCDE Whether to select on the completion code. *ALL is
the default for all completion codes.
*NORMAL may be specified to select the jobs that
completed normally (00 completion code).
*FAILED may be specified to select the jobs that did
not complete normally.
A single completion code may be requested from the
values 00, 10, 20, 30, 40, 50, 60, 70, 80, and 90.
For an explanation of the completion codes, see the
CPF1164 message ID.
The system also assigns 99 to an accounting code
segment.
ACGCDE Whether to select on the accounting code. *ALL is
the default which will select all records regardless
of whether they have an accounting code.
JOBTYPE Whether to select on the type of job.
A specific job type may be entered of the following:
B = Batch
A = Autostart
I = Interactive
M = Subsystem monitor
R = Spool reader
S = System job
W = Spool writer
X = Start CPF
NBRTRANS Whether to select on the number of transactions.
This is only meaningful for interactive jobs. Any
non-interactive jobs will have 0 for the number of
transactions.
If a number is entered, any jobs that have the same
or a greater number of transactions will be
selected.
AVGRSP Whether to select on the average response time.
This is only meaningful for interactive jobs. Any
non-interactive jobs will have a 0 average response
time.
Response times are in hundredths of a second. For
example, you could specify '.44'. Any jobs with a
response time equal or greater would be selected.
CPUUSE Whether to select on the number of CPU seconds used.
The default is 0.
SYNAUXIO Whether to select on the number of synchronous
auxiliary storage I/O occurrences.
If a number is entered, any jobs that have the same
or a greater number of occurrences will be selected.
ASYNAUXIO Whether to select on the number of asynchronous
auxiliary storage I/O occurrences.
If a number is entered, any jobs that have the same
or a greater number of occurrences will be selected.
SYSTEM Whether to select on the system where the job
accounting entry occurred. *CURRENT is the default.
If you do not convert job accounting entries from
other systems to a centralized JOBACGP file, use the
default.
EXTPRT Whether to use one or more extended print functions.
One or more options may be specified and each
produces an additional line of information.
- *NONE is the default for no additional lines
- *ALL of the values
- *TOTALS all values except *DATENT
- *DATENT - when the job entered the system
- *TRNTIM - transaction time in seconds
- *AVGRSP - the average response time
- *PRINT - the number of pages, lines, files
- *DBF - the number of gets, puts, upd/dlts
- *COMM - the number of gets, puts
- *AUXIO - the number of synch/asynch aux I/Os
JOBACGLIB The name of the library where the Job Accounting
files exist. The default is *LIBL. *CURLIB may
also be used.
OUTPUT How to output the results. * is the default to
display the spooled file if the command is entered
interactively. The spooled file is deleted after it
is displayed.
If the command is entered in batch or *PRINT is
specified, the spooled file is output and retained.
DLTJOBACG Command parameters *CMD
----------------------------
JOBACGLIB The name of the library where the Job Accounting
files will be deleted.
CVTJOBACG2 Command parameters *CMD
-----------------------------
JRNOUTF The name of the qualified file that contains the
journal entries from another system. The library
defaults to *LIBL and *CURLIB may be used.
DSPJRN must have been used to create the file and
must have been specified as OUTFILFMT(*TYPE1) and
ENTDTALEN(155).
SYSTEM The system name to be used for the accounting
entries. This is a required parameter. You cannot
use the current systems name (use the CVTJOBACG
command instead).
The reason that the system name is required is that
the *TYPE1 format is used for the DSPJRN outfile
which does not contain the system name.
RMVALLLFM A *YES/*NO parameter for whether the logical file
members should be removed before the update program
runs and then added back after. This is a
performance option. It is generally faster to
remove the members and then add them back if a large
percentage of records will be added to the file.
*NO is the default which should be used when a small
percentage of records are added.
*YES should be specified to improve the performance
when adding a large percentage of records.
JOBACGLIB The name of the library where the Job Accounting
files exist. The default is *LIBL. *CURLIB may
also be used.
RFMJOBACG Command parameters *CMD
----------------------------
JOBACGLIB The library where the JOBACG data base files exist.
WRKLIB The work library that will be used to copy the
current files to. A unique library is desirable so
you can simplify review and deletion.
After the command completes, the old versions of the
files will be retained in the work library. When
you are satisfied with the new versions, delete the
files from the work library.
RTVJOBACGR Command parameters *CMD
-----------------------------
JOB The qualified job name. This is a 3 part parameter
value where each part (Job, User, and Job number) is
required.
SYSTEM The system name to be used for the accounting
entries. The default is *CURRENT for the current
system.
JRNSEQ The 10 digit sequence number of the journal entry.
This is an optional return value that if used must
be specified as *DEC LEN(10 0).
JRNSEQ2 The 20 digit sequence number of the journal entry.
This is an optional return value that if used must
be specified as *CHAR LEN(20).
ENTDATE The date the job entered the system in CYMD format.
This is an optional return value that if used must
be specified as *CHAR LEN(7).
ENTTIME The time the job entered the system in HHMMSS
format. This is an optional return value that if
used must be specified as *CHAR LEN(6).
STRDATE The date the job was started in CYMD format. This
is an optional return value that if used must be
specified as *CHAR LEN(7).
STRTIME The time the job was started in HHMMSS format. This
is an optional return value that if used must be
specified as *CHAR LEN(6).
ENDDATE The date the job was ended in CYMD format. This is
an optional return value that if used must be
specified as *CHAR LEN(7).
ENDTIME The time the job was ended in HHMMSS format. This
is an optional return value that if used must be
specified as *CHAR LEN(6).
ACGCDE The accounting code for the job. This is an
optional return value that if used must be specified
as *CHAR LEN(15).
JOBTYP The job type for the job. This is an optional
return value that if used must be specified as *CHAR
LEN(1).
It will contain one of the following values:
B = Batch
A = Autostart
I = Interactive
M = Subsystem monitor
R = Spool reader
S = System job
W = Spool writer
X = Start CPF
COMPCODE The job completion code. This is an optional return
value that if used must be specified as *CHAR
LEN(2). See the CPF1164 message for a list of the
codes.
CPUSECS The number of CPU seconds used by the job. This is
an optional return value that if used must be
specified as *DEC LEN(7 1).
NBRTRANS The number of transactions used by an interactive
job. This is an optional return value that if used
must be specified as *DEC LEN(11 0).
AVGRESP The average response time used by an interactive
job. This is an optional return value that if used
must be specified as *DEC LEN(9 2).
JOBACGLIB The name of the library where the Job Accounting
files exist. The default is *LIBL. *CURLIB may
also be used.
Restrictions
------------
None.
Prerequisites
-------------
The following TAA Tools must be on your system:
ADDDAT Add date
ADJVAR Adjust variable
CHKALLOBJ Check *ALLOBJ authority
CHKACTOBJ Check active object
CHKGENERC Check generic
CPYTAADDS TAA Archive
CVTDAT Convert date
CVTJRNA Convert journal attributes
CVTTIM Convert time
EDTVAR Edit variable
EXTLST2 Extract list 2
FILEFDBCK File feedback
HLRMVMSG HLL Remove message
RMVALLLFM Remove all logical file members
RTVDAT Retrieve date
RTVDBFA Retrieve data base attributes
RTVIBMPRF Retrieve IBM profiles
RTVSYSVAL3 Retrieve system value 3
SNDCOMPMSG Send completion message
SNDDIAGMSG Send diagnostic message
SNDESCMSG Send escape message
SNDSTSMSG Send status message
WRTSRC Write source
Implementation
--------------
None, the tool is ready to use. You must use CRTJOBACG to create the
required files and CVTJOBACG to convert the entries before using DSP
or PRTJOBACG.
Objects used by the tool
------------------------
Object Type Attribute Src member Src file
------ ---- --------- ---------- ----------
CRTJOBACG *CMD TAAACGB QATTCMD
CVTJOBACG *CMD TAAACGB2 QATTCMD
DSPJOBACG *CMD TAAACGB3 QATTCMD
DLTJOBACG *CMD TAAACGB4 QATTCMD
PRTJOBACG *CMD TAAACGB6 QATTCMD
MTNJOBACG *CMD TAAACGB6 QATTCMD
CVTJOBACG2 *CMD TAAACGB7 QATTCMD
PRTJOBACG3 *CMD TAAACGB8 QATTCMD
ANZJOBACG *CMD TAAACGB9 QATTCMD
RFMJOBACG *CMD TAAACGB10 QATTCMD
RTVJOBACGR *CMD TAAACGB11 QATTCMD
TAAACGBC *PGM CLP TAAACGBC QATTCL
TAAACGBC2 *PGM CLP TAAACGBC2 QATTCL
TAAACGBC3 *PGM CLP TAAACGBC3 QATTCL
TAAACGBC4 *PGM CLP TAAACGBC4 QATTCL
TAAACGBC5 *PGM CLP TAAACGBC5 QATTCL
TAAACGBC6 *PGM CLP TAAACGBC6 QATTCL
TAAACGBC7 *PGM CLP TAAACGBC7 QATTCL
TAAACGBC8 *PGM CLP TAAACGBC8 QATTCL
TAAACGBC9 *PGM CLP TAAACGBC9 QATTCL
TAAACGBC10 *PGM CLP TAAACGBC10 QATTCL
TAAACGBC11 *PGM CLP TAAACGBC11 QATTCL
TAAACGBC13 *PGM CLP TAAACGBC13 QATTCL
TAAACGBC15 *PGM CLP TAAACGBC15 QATTCL
TAAACGBR2 *PGM RPG TAAACGBR2 QATTRPG
TAAACGBR3 *PGM RPG TAAACGBR3 QATTRPG
TAAACGBR5 *PGM RPG TAAACGBR5 QATTRPG
TAAACGBR8 *PGM RPG TAAACGBR8 QATTRPG
TAAACGBR9 *PGM RPG TAAACGBR9 QATTRPG
TAAACGBR11 *PGM RPG TAAACGBR11 QATTRPG
TAAACGBR12 *PGM RPG TAAACGBR12 QATTRPG
TAAACGBR13 *PGM RPG TAAACGBR13 QATTRPG
TAAACGBR15 *PGM RPG TAAACGBR15 QATTRPG
TAAACGBC23 *PGM CLP TAAACGBC23 QATTCL
TAAACGBD *FILE DSPF TAAACGBD QATTDDS
TAAACGBP *FILE PF TAAACGBP QATTDDS
TAAACGBL *FILE LF TAAACGBL QATTDDS
TAAACGBM *FILE LF TAAACGBM QATTDDS
TAAACGBN *FILE LF TAAACGBN QATTDDS
TAAACGBO *FILE LF TAAACGBO QATTDDS
TAAACGBX *FILE PF TAAACGBX QATTDDS
TAAJOBACG *AUTL
The TAAACGBX file is only used to create programs against.
Note that the PRTJOBACG2 command does not exist here because it is
part of the PRTJOBACG2 tool.
The files created from CRTJOBACG use the following source.
File Source Description
---- ------ -----------
JOBACGP TAAACGBP Physical
JOBACGL TAAACGBL LF by system, date, and time
JOBACGM TAAACGBM LF by system, acctg code, date, time
JOBACGN TAAACGBN LF by system, user, date, time
JOBACGO TAAACGBO LF by system, job, date, time
JOBACGQ TAAACGBQ LF by system, curr user, date, time
Structure
---------
CRTJOBACG Cmd
TAAACGBC CL pgm
CVTJOBACG
TAAACGBC2 CL pgm
TAAACGBR12 RPG Pgm
TAAACGBR2 RPG Pgm
DSPJOBACG
TAAACGBC3 CL pgm
TAAACGBR3 RPG Pgm
TAAACGBD Display file
TAAACGBC15 CL pgm
TAAACGBC23 CL pgm
DLTJOBACG
TAAACGBC4 CL pgm
PRTJOBACG
TAAACGBC5 CL pgm
TAAACGBR5 RPG Pgm
TAAACGBR15 RPG Pgm
PRTJOBACG3
TAAACGBC8 CL pgm
TAAACGBR8 RPG Pgm
TAAACGBR12 RPG Pgm
MTNJOBACG
TAAACGBC6 CL pgm
CVTJOBACG2
TAAACGBC7 CL pgm
TAAACGBR12 RPG Pgm
TAAACGBR2 RPG Pgm
ANZJOBACG
TAAACGBC9 CL pgm
TAAACGBR9 RPG Pgm
TAAACGBC13 CL pgm
TAAACGBR13 RPG pgm
RFMJOBACG
TAAACGBC10 CL pgm
Structure - Continued
---------------------
RTVJOBACGR
TAAACGBC11 CL pgm
TAAACGBR11 RPG Pgm
|