TAA Tools
PRTJOBQTIM      PRINT JOB QUEUE TIME                   TAAACGF

The Print  Job Queue  Time tool  provides assistance  in answering  the
question 'How much  time is spent by batch jobs  on a job queue waiting
to  go active?'  You must be  using the TAA  Job Accounting  tool.  The
CVTJOBQTIM command  is used first  to select  records from the  JOBACGP
file  and create  the JOBQTIMP  outfile.   The  PRTJOBQTIM command  may
then  be  used  to print  a  listing with  various  selection  and sort
criteria.

The JOBQTIMP file  is created  using a  model file of  TAAACGFP with  a
format  name of  JOBQTIMR.   You  may analyze  the  JOBQTIMP file  with
PRTJOBQTIM, a query, or your own program.

Because the  system does not provide complete  information (such as the
job queue name  where the job  was started from in  the job  accounting
data), the  output is  less than  desirable.   However, you  can get  a
reasonable  idea and  be able  to address  specific questions  by using
the selection criteria on PRTJOBQTIM.

The  CVTJOBQTIM  command  is  used first  to  select  records  from the
JOBACGP file (created by the TAA Job Accounting tool).

            CVTJOBQTIM   JOBACGLIB(xxx) OUTLIB(yyy)

Only batch  jobs would be  converted.  Those  jobs that  do not have  a
start  date (such  as they  were ended  while still  on the  job queue)
would  be bypassed.   The  defaults used  would select  all dates/times
and bypass the job names that  begin with Q (most likely system  jobs).
The time spent on  the jobq queue would be  calculated and the JOBQTIMP
file would be output.

The PRTJOBQTIM command may then be used such as:

            PRTJOBQTIM   MINTIME(10) SORTBY(*JOB) JOBQTIMPLB(yyy)

The  listing would appear in  job name order.   Any job  that waited on
the job queue  for 10 or more  seconds before it  was started would  be
printed.

Considerations
--------------

  **   The  job  must  have  been  completed   to  be  considered  (job
       completion causes the job accounting record).

  **   The  system  does not  track  the  job queue  that  the job  was
       started  from  in  the  job  accounting  information.    The TAA
       DSPJOBSTRA command may be used  to display the job queue  if the
       job is still known to the system.

  **   A job  can be moved from one  job queue to another  before it is
       started.   No information exists in  the job accounting entry to
       account for this.

  **   A job can be ended while it  is on the job queue and thus  never
       started.   These jobs are bypassed  by CVTJOBQTIM as  not having
       a valid start date.

  **   A  job may be submitted  with a scheduled date/time.   The entry
       date/time is  when the  job was  submitted.   The job  will  not
       start until  the scheduled  date/time is  met.  If  the job  has
       not  started, it  will be bypassed  by CVTJOBQTIM.   If  the job
       was  started, it will appear as  having waited on the job queue.
       The job  accounting  information does  not  provide any  special
       indication  that  the  job   was  not  started  because  of  the
       scheduled date/time.

  **   A  job may be  submitted with HOLD(*YES).   If the  job is never
       released,  the  start  date  does  not  exist  and  the  job  is
       bypassed  by CVTJOBQTIM.   If  the job  is released,  it may  be
       several  days  later  and  should  not  be  considered  in  your
       analysis.  The job accounting  information does not provide  any
       special indication that  the job was  released at a  later date.

  **   You  can   minimize  some  of  the   misleading  information  by
       specifying  a MAXTIME value to appear  on the listing and bypass
       jobs that were not actually  waiting for an activity slot.   The
       default MAXTIME is 86,400 seconds (24 hours).

  **   Jobs  entered  with  the  Job  Scheduler  (WRKJOBSCDE)  are  not
       entered into the system until the date/time specified.

  **   If  the entry or  start dates are  invalid or the  start date is
       somehow less  than  the  entry  date, the  job  is  bypassed  by
       CVTJOBQTIM and informational messages will occur.

  **   If the  CHGACGCDE command  is used  during a  job, multiple  job
       accounting  entries will be written.   Each entry  has the entry
       date and  start  date of  the  job.   Each  entry will  cause  a
       record to be created  in JOBQTIMP.  The additional  records will
       be  bypassed  by  PRTJOBQTIM  if  they  have  been  sorted  into
       consecutive sequence such as by SORTBY(*JOB).

CVTJOBQTIM and PRTJOBQTIM Options
---------------------------------

  **   A  range of  dates and times  may be entered  on both CVTJOBQTIM
       and  PRTJOBQTIM.     If  you  are   going  to  analyze   various
       conditions, you  may want to convert all  job accounting records
       or  a  wide  range of  dates  using CVTJOBQTIM.    You  may then
       subset the dates using PRTJOBQTIM.

  **   The option  to include  or exclude  job names  beginning with  Q
       exists on both  CVTJOBQTIM and PRTJOBQTIM.  A  typical use would
       be  to use  the default on  CVTJOBQTIM to  bypass any  Qxxx name
       jobs (typically  system jobs  you  are probably  not  interested
       in).  If the Qxxx  jobs are not in the file, it  does not matter
       what  the INCQJOB value  is on PRTJOBQTIM  as no such  jobs will
       exist.

  **   The   JOBQTIMP  file  output  by   CVTJOBQTIM  may  be  used  by
       PRTJOBQTIM or by your own query.

  **   PRTJOBQTIM lets  you  select  on  dates, times,  a  generic  job
       name, a  generic user name, and the  minimum/maximum times spent
       on the job queue.

  **   PRTJOBQTIM  allows you  to sort  by entry date/time,  job, user,
       or the time  spent on the  job queue.   Ascending or  descending
       sequence may be specified.

PRTJOBQTIM escape messages you can monitor for
----------------------------------------------

None.  Escape messages from based on functions will be re-sent.

CVTJOBQTIM Command parameters                         *CMD
-----------------------------

   JOBACGLIB     The  name  of  the  library  where  the  JOBACGP  file
                 exists  as  created by  the TAA  Job  Accounting tool.
                 The CVTJOBACG tool must be  run to add records to  the
                 file.

                 The  library value  defaults to  *LIBL.   *CURLIB  may
                 also be used.

   STRDATE       The  start date  of  the jobs  to be  included.   This
                 means  the earliest  'entry date'  of the  jobs in the
                 JOBACGP  file.   The  default  is *BEGIN  meaning  the
                 first record in the file.

                 *TODAY may  be specified to  mean begin with  the jobs
                 that entered the system on today's date.

                 A specific date in job date format may be entered.

   ENDDATE       The  end date of the jobs to  be included.  This means
                 the latest 'entry  date' of  the jobs  in the  JOBACGP
                 file.   The default  is *END  meaning the last  record
                 in the file.

                 A  specific date  in job date  format may  be entered.
                 The  date  must  be  greater  than  or  equal  to  the
                 STRDATE value.

   STRTIME       The start  time  of the  jobs to  be  included.   This
                 means  the earliest 'entry  time' of  the jobs  in the
                 JOBACGP   file  based  on  the  STRDATE  value.    The
                 default is  *BEGIN meaning  the first  record for  the
                 STRDATE specified.

                 A specific  time may be  entered in HHMMSS format.   A
                 valid  time must  be entered in  a range  of 000000 to
                 235959.

   ENDTIME       The end time of the  jobs to be included.  This  means
                 the latest  'entry time'  of the  jobs in  the JOBACGP
                 file.   The  default is *END  meaning the  last record
                 for the ENDDATE specified.

                 A specific time may  be entered in  HHMMSS format.   A
                 valid time  must be entered  in a  range of 000000  to
                 235959.    If the  STRDATE  and  ENDDAT  are the  same
                 dates,  the ENDTIME must  be greater than  or equal to
                 the STRTIME value.

   INCQJOB       A  *YES/*NO  value for  whether  job  names  beginning
                 with the  letter Q  are to be  included.   The default
                 is  *NO as you  would normally want  to exclude system
                 jobs.

                 *YES may be specified  to include job names  beginning
                 with Q.

   OUTLIB        The  library  in  which  the  JOBQTIMP  file  will  be
                 placed.   The default is *LIBL.   If the JOBQTIMP file
                 does not already exist,  a library must be  specified.

                 The  model file  is  TAAACGFP with  a  format name  of
                 JOBQTIMR.

   OUTMBR        The member  of the JOBQTIMP  file to be used.   If the
                 member  does not exist,  it is added.   The default is
                 JOBQTIMP.

   REPLACE       A *YES/*NO  value  for whether  the member  should  be
                 cleared before  writing records into it.   The default
                 is *YES.

                 *NO  may  be  specified  to  add  records  to existing
                 data.

PRTJOBQTIM Command parameters                         *CMD
-----------------------------

   STRDATE       The start  date of  the  jobs to  be included.    This
                 means the  earliest 'entry  date' of  the jobs  in the
                 JOBQTIMP  file.   The  default is  *BEGIN  meaning the
                 first record in the file.

                 *TODAY may be  specified to mean  begin with the  jobs
                 that entered the system on todays date.

                 A specific date in job date format may be entered.

   ENDDATE       The end date of  the jobs to be included.   This means
                 the latest  'entry date' of  the jobs in  the JOBQTIMP
                 file.   The  default is  *END meaning  the last record
                 in the file.

                 A specific  date in  job date format  may be  entered.
                 The  date  must  be  greater  than  or  equal  to  the
                 STRDATE value.

   STRTIME       The  start  time of  the jobs  to  be included.   This
                 means the earliest  'entry time'  of the  jobs in  the
                 JOBQTIMP  file  based  on  the  STRDATE  value.    The
                 default  is *BEGIN  meaning the  first record  for the
                 STRDATE specified.

                 A specific time may  be entered in  HHMMSS format.   A
                 valid time  must be entered  in a  range of 000000  to
                 235959.

   ENDTIME       The end  time of the jobs to be  included.  This means
                 the  latest 'entry time'  of the jobs  in the JOBQTIMP
                 file.   The default is  *END meaning  the last  record
                 for the ENDDATE specified.

                 A specific  time may be  entered in HHMMSS format.   A
                 valid  time must  be entered in  a range  of 000000 to
                 235959.   If  the  STRDATE  and ENDDAT  are  the  same
                 dates, the  ENDTIME must be  greater than or  equal to
                 the STRTIME.

   INCQJOB       A  *YES/*NO  value  for  whether  job names  beginning
                 with the letter  Q are  to be included.   The  default
                 is *NO  as you would  normally want to  exclude system
                 jobs.

                 *YES may  be specified to include  job names beginning
                 with Q.

   JOB           The  job  name to  select.   The default  is *ALL.   A
                 specific job name  or a generic  name may be  entered.

   USER          The  user name to  select.   The default  is *ALL.   A
                 specific  user name or a generic  name may be entered.

   MINTIME       The minimum amount  of time in  seconds the job  spent
                 on  the  job  queue  to allow  it  to  appear  on  the
                 listing.  The default is 0 meaning any time.

                 If  a value such as  10 is entered, the  job must have
                 spent at least 10 seconds  on the job queue to  appear
                 in the listing.   Entering a non-trivial  value allows
                 you  to bypass all  the jobs  which are  being started
                 within a reasonable amount of time.

   MAXTIME       The  maximum amount of  time in seconds  the job spent
                 on  the  job queue  to  allow  it  to  appear  on  the
                 listing.   The default  is 86,400 seconds  (24 hours).

                 If  the default  is  used, any  jobs that  waited more
                 than  a  24  hour  period  would  not  appear  in  the
                 listing.   Entering a value  allows you to  bypass all
                 the  jobs which  were held for  several days  and then
                 released or scheduled by SBMJOB for a future date.

   SORTBY        How to  sort  the  JOBQTIMP  file.    The  default  is
                 *ENTRYDATE  meaning the  data  appears in  entry  date
                 and time sequence.

                 *JOB  may be  specified  meaning the  data  appears by
                 job name and entry date/time sequence.

                 *USER  may be  specified meaning  the data  appears by
                 user and entry date/time sequence.

                 *JOBQTIME may  be specified  meaning the data  appears
                 by  the  amount of  time  the  job  spent on  the  job
                 queue.    Secondary  sort fields  are  entry  date and
                 time.

   SEQ           How to sequence  the sorted  output.   The default  is
                 *ASCEND for ascending sequence.

                 *DESCEND may be specified for descending sequence.

   JOBQTIMPLB    The library  containing the  JOBQTIMP file  created by
                 CVTJOBQTIM.   The  default is *LIBL.   *CURLIB  may be
                 used.

   MBR           The  member   of   the  JOBQTIMP   file   created   by
                 CVTJOBQTIM.  The default is *FIRST.

Restrictions
------------

None.

Prerequisites
-------------

The following TAA Tools must be on your system:

     CHKGENERC       Check generic
     CHKTIM          Check time
     CLCDATDIF3      Calculate date difference 3
     CVTDAT          Convert date
     CVTTIM          Convert time
     DUPTAADBF       Duplicate TAA Data Base file
     EDTVAR          Edit variable
     JOBACG          Job Accounting
     RTVDAT          Retrieve date
     RTVSYSVAL3      Retrieve system value 3
     SNDCOMPMSG      Send completion message
     SNDESCMSG       Send escape message
     SNDSTSMSG       Send status message
     SORTDBF         Sort data base file

Implementation
--------------

None, the tool is ready to use.

Objects used by the tool
------------------------

   Object        Type    Attribute      Src member    Src file
   ------        ----    ---------      ----------    ----------

   CVTJOBQTIM    *CMD                   TAAACGF       QATTCMD
   PRTJOBQTIM    *CMD                   TAAACGF       QATTCMD
   TAAACGFC      *PGM       CLP         TAAACGFC      QATTCL
   TAAACGFC2     *PGM       CLP         TAAACGFC2     QATTCL
   TAAACGFC11    *PGM       CLP         TAAACGFC11    QATTCL
   TAAACGFR      *PGM       RPG         TAAACGFR      QATTRPG
   TAAACGFR2     *PGM       RPG         TAAACGFR2     QATTRPG
   TAAACGFP      *FILE      PF          TAAACGFP      QATTDDS

Structure
---------

CVTJOBQTIM  Cmd
   TAAACGFC   CL pgm
     TAAACGFR   RPG Pgm  - Writes to JOBQTIMP file
       TAAACGFC11 CL pgm    - Checks valid dates

PRTJOBQTIM  Cmd
   TAAACGFC2  CL pgm
     TAAACGFR   RPG Pgm     - Reads JOBQTIMP file and prints
					

Added to TAA Productivity tools March 15, 2003


Home Page Up to Top