TAA Tools
CHKOBJSRC       CHECK OBJECT SOURCE                    TAASREE

The Check  Object Source tool  performs 3  functions: 1) Lists  objects
that  were created from  source but the  source no longer  exists where
it  was created from 2)  Lists source members which  have not been used
to create an object  and 3) Lists source  members which have been  used
to create  more than a single object.   An attempt is  made to identify
'possible'  missing  items based  on the  last  source change  date and
time.

CHKOBJSRC can  be used  against one  or more  libraries  or the  entire
system.   *TEST  libraries  can be  bypassed and  a  list of  libraries
omitted.

A  typical command  to run  over the  entire system  would take  a long
time and should be entered to batch in off hours such as:

          SBMJOB   JOB(CHKOBJSRC) CMD(CHKOBJSRC) LIB(*ALLUSR) +
                     LIBTYPE(*PROD) OMITLIB(TAATOOL)

You must have *USE  authority to the  TAACVTLIBD authorization list  to
specify *ALLUSR.

Three spooled files would be output:

  **   OBJECTS.   This is  a listing  of all objects  where the  source
       cannot be found.

         --   If the  source exists, but  is in a library  which is not
              included in the LIB parameter, it is flagged.

         --   If  the  source member  has  been renamed  or  the source
              file has  been moved or  renamed, an  attempt is made  to
              identify  the source by  using the  last change  date and
              time.    If the  information  in the  object  matches the
              last change  date/time  of  some  source  member,  it  is
              flagged as a 'possible' matching source member.

         --   Single  module ILE  programs are  checked  for source  in
              the same manner as OPM programs.

         --   Multi-module   ILE  programs  and   *SRVPGMs  are  always
              identified as exceptions.

  **   NONOBJSRC.  This  is a  listing of  the source  members that  do
       not appear to have been used to create an object.

         --   If the last  change date in  the source matches  the same
              information   in   an   object,  the   'possible   object
              information' is noted.

         --   Any TXT or TXT38 type members are bypassed.

  **   MLTSRCOBJ.   This is  a listing of the  source members that have
       been used to create more than a single object.

The  listings   include  totals   and   comments  to   assist  you   in
understanding the output.

Running over less than the entire system
----------------------------------------

If a library value other than *ALLUSR is specified
or there are 'Omit libraries', not all checking can be
achieved.
  **   If the object  was created from source that  exists in a library
       that  is not part of  the processing, the  source is checked for
       and if it exists, a special flag is set.

  **   If  a source  member  is  processed  that  has  a  corresponding
       object in  a library  that is  not part  of the processing,  the
       member will  appear not to have created an  object.  Only if the
       library is also  processed will  the NONOBJSRC  listing be  able
       to identify the object that was created.

Use of QTEMP to create objects from
-----------------------------------

Some installations  use source files  in QTEMP.   The normal source  is
copied to  the QTEMP and  the objects created from  these source files.
If  this  occurs, the  object  reference to  the  source refers  to the
QTEMP library.   These objects will  appear as if  the source does  not
exist.

Several TAA CRT  commands use this technique when  creating a data base
structure  of physical and  logical files.   The source  is copied from
the TAA Archive to source files  in QTEMP (modified in some cases)  and
the objects are created.

If  you normally  create  objects  from source  in  QTEMP  or move  the
source after  the create step, you  should consider the use  of the TAA
command  CHGOBJSRC  This  will  allow  you  to  change  the   reference
information within the object to point to the actual source.

Omitting the TAATOOL library
----------------------------

If  you use  LIB(*ALLUSR)  or  have TAATOOL  on  the library  list  and
specify  LIB(*USRLIBL), you will  find almost  all TAA  objects flagged
as 'Source does not exist'.  You will normally want to specify:

         CHKOBJSRC     LIB(*xxx) OMITLIB(TAATOOL)

The  TAA objects in the TAATOOL library  are created from source in the
library TAATOOL2.    This  library is  not  shipped with  the  product.
Instead, the source  is placed in the TAA Archive  and can be extracted
using a command such as CPYTAA.

Consequently,  most TAA objects in the  TAATOOL would appear as 'Source
does not exist' if you include the TAATOOL library.

Handling of ILE Programs
------------------------

Service  programs  and  multi-module  programs  cannot  be   adequately
processed and are always flagged.

Single module ILE  programs are processed as if they  are OPM programs.
The  source used  is determined  by use of  the TAA  RTVILEMODA command
and checked as if it were OPM source.

OMITLIB Data Area in TAASECURE
------------------------------

The OMITLIB  data  area in  TAASECURE  is  used in  a  prompt  override
program  to  fill  in  the  OMITLIB  parameter.     The  data  area  is
initialized  to  TAATOOL when  the  TAA  Productivity  Tools are  first
shipped.

You   may  add  other  libraries  that  you  want  to  bypass  in  your
installation.  For example,  if you have other products on  your system
that should not be included, you could add them to the list.

An *ALLOBJ special authority user could enter the command:

             EDTCONARR     DTAARA(TAASECURE/OMITLIB)

The list of libraries can then be maintained.

CHKOBJSRC escape messages you can monitor for
---------------------------------------------

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

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

   LIB           The  library to  be considered.   Up  to  40 libraries
                 may   be  entered  including  generic  library  names.
                 Special  values   *ALLUSR   and  *USRLIBL   are   also
                 supported.    You  must have  *USE  authority  to  the
                 TAACVTLIBD authorization list to specify *ALLUSR.

   LIBTYPE       The  type of libraries to  be processed.   *ALL is the
                 default.   Either *PROD  or *TEST  may be  entered  to
                 process  only  those  libraries   with  the  specified
                 attribute   (the  TYPE   parameter  is   specified  on
                 CRTLIB).

   OMITLIB       A  list  of up  to 45  libraries to  be omitted.   The
                 default is *NONE.   A  prompt override program  exists
                 so that  the OMITLIB data  area in TAASECURE  is used.
                 See  the previous discussion for how  to use this data
                 area.

                 If you are processing  *ALLUSR or *USRLIBL, you  would
                 normally want to omit the TAATOOL library.

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

You must  have *USE authority to  the TAACVTLIBD authorization  list to
specify *ALLUSR.

Because  many  messages are  sent to  the  job log,  the  function does
CHGJOB JOGLOGMSGFL(*WRAP)  to  prevent  from overflowing  the  job  log
message  queue if  LIB(*ALLUSR)  is specified  or  if the  function  is
running in batch.

See also the section on 'Running over less than the entire system'.

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

The following TAA Tools must be on your system:

     CHKALLOBJ       Check *ALLOBJ special authority
     CHKDUPLST       Check duplicate list
     CHKGENERC       Check generic
     CHKGENOBJ       Check generic object
     CHKOBJ3         Check object 3
     CRTDUPPF        Create duplicate physical file
     CVTDAT          Convert date
     CVTLIBDBF       Convert library data base files
     EXTLST          Extract list
     EXTLST2         Extract list 2
     RTVILEMODA      Retrieve ILE module attributes
     RTVSYSVAL3      Retrieve system value 3
     SNDCOMPMSG      Send completion message
     SNDESCMSG       Send escape message
     SNDJLGMSG       Send job log message
     SNDSTSMSG       Send status message
     UPDPFILE        Update PFILE keyword

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

None, the tool is ready to use.

Files used
----------

Files are created in QTEMP during processing:


           Source      File in QTEMP    Description
           ------      -------------    -----------

           TAASREEP    TAACHKOBJP       DSPOBJD outfile with keys
                                           Keyed by object name

           TAASREEL    TAACHKOBJL       LF over TAACHKOBJL
                                           Keyed by Src change date

           TAASREEQ    TAAMBRLST        Mostly DSPFD *MBR output
                                           Keyed by Src mbr name

           TAASREEX    TAAMBRLSTL       LF over TAAMBRLST
                                           Keyed by Src change date

           TAASREES    OBJSRCP          Created objects from source
                                           Keyed by Src name

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

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

   CHKOBJSRC     *CMD                   TAASREE       QATTCMD
   TAASREEC      *PGM       CLP         TAASREEC      QATTCL
   TAASREEC2     *PGM       CLP         TAASREEC2     QATTCL
   TAASREEC10    *PGM       CLP         TAASREEC10    QATTCL
   TAASREEC11    *PGM       CLP         TAASREEC11    QATTCL
   TAASREER      *PGM       RPG         TAASREER      QATTRPG
   TAASREER2     *PGM       RPG         TAASREER2     QATTRPG
   TAASREER3     *PGM       RPG         TAASREER3     QATTRPG
   TAASREEP      *FILE      PF          TAASREEP      QATTDDS
   TAASREEQ      *FILE      PF          TAASREEQ      QATTDDS
   TAASREES      *FILE      PF          TAASREES      QATTDDS
   TAASREEL      *FILE      LF          TAASREEL      QATTDDS
   TAASREEX      *FILE      LF          TAASREEX      QATTDDS

Structure
---------

CHKOBJSRC   Cmd
   TAASREEC   CL pgm     - TAASREEC10 is Prompt override
     TAASREEC2   CL pgm  - Builds outfile of source members
     TAASREER   RPG Pgm  - Objects with missing source
       TAASREEC11   CL pgm  - Checks for ILE program
     TAASREER2  RPG Pgm  - Source not used to create objects
     TAASREER3  RPG Pgm  - Source used for more than one object

The prompt override program is TAASREEC10.
					

Added to TAA Productivity tools February 1, 2001


Home Page Up to Top