TAA Tools
CHKDUPOBJ       CHECK DUPLICATE OBJECT                 TAAOBKV

The  Check  Duplicate  Object  command   checks  for  duplicate  object
type/names in  multiple libraries.  A listing  is output describing the
duplicate  groups.   This can  be helpful  when attempting to  clean up
the system  or  solving problems.   There  are  legitimate reasons  for
having duplicate  type/names which may  contain different data  such as
a QCLSRC source file.

You  must have *ALLOBJ special authority to  specify a library value of
*ALL, *ALLUSR, *ALLUSR2, *ALLNONQ, or *IBM.

A typical command would be:

             CHKDUPOBJ      LIB(*ALLUSR)

A listing  would  be  produced  in  object type  order  of  any  object
type/names that are duplicates.

You may also request one or more object types such as:

             CHKDUPOBJ      LIB(*ALLUSR) OBJTYPE(*CMD *DTAARA)

A list of libraries may be specified with an omit list if needed.

CHKDUPOBJ escape messages you can monitor for
---------------------------------------------

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

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

   LIB           The list  of libraries  to be  processed.   Up to  300
                 libraries  may  be entered  (including  generic names)
                 or  the  special  values  *LIBL,  *USRLIBL,   *CURLIB,
                 *ALLUSR, *ALLUSR2, *ALLNONQ, *IBM, or ALL.

                 For *LIBL and  *USRLIBL, if a current  library exists,
                 it will  also be considered.   If the  current library
                 is  also  part  of  the user  portion  of  the library
                 list, it will only appear once.

                 If *ALL  or  *IBM is  entered, you  may  want to  omit
                 certain  libraries  where duplicate  type/names  exist
                 on   purpose.     For   example,  the   prior  release
                 libraries  (VnRnMn)   will   contain   duplicates   of
                 commands, files, etc found in QSYS.

                 *ALLUSR  means any  library that  was  not created  by
                 the system according to the CHKIBMLIB command.

                 *ALLUSR2  means any  library  that meets  the criteria
                 specified  for  the   SAVLIB  LIB(*ALLUSR)   function.
                 This  excludes  #   libraries  such  as   #SEULIB  and
                 includes QUSRSYS,  QGPL, etc.   See the help  text for
                 the  SAVLIB LIB parameter  for a complete description.

                 *ALLNONQ means any  library that  does not begin  with
                 the letter Q.

                 An entry  of *IBM causes all libraries  to be included
                 as per the definition of the CHKIBMLIB tool.

                 Product libraries are never included.

   LIBTYPE       Whether  to select  all or  a specified  library type.
                 *ALL is the default to select all types.

                 *PROD may  be used  to select  only production  (PROD)
                 libraries.

                 *TEST  may  be   used  to  select  only   test  (TEST)
                 libraries.

   OBJ           The object  name or generic name to  be compared.  The
                 default is *ALL.

   OBJTYPE       A list  of up  to 30  object types  may be  specified.
                 The default is *ALL.

                 Use the prompter for the valid types.

   ASPDEV        Specifies  the  auxiliary storage  pool  (ASP)  device
                 name  where  storage for  the  library containing  the
                 object  is allocated.   If  the library  resides in an
                 ASP that  is not  part  of the  thread's library  name
                 space,  this parameter  must  be  specified to  ensure
                 the  correct library is  searched.   If this parameter
                 is used when the  library qualifier specified for  the
                 Object prompt  (OBJ parameter)  is *CURLIB,  *LIBL, or
                 *USRLIBL, ASPDEV(*) is the only valid value.

                 This  parameter  can be  specified  as a  list  of two
                 values  (elements)  or  as   a  single  value.     The
                 possible single values are:

                 * = The ASPs  that are currently part of  the thread's
                 library  name space  will  be searched  to  locate the
                 library.   This includes  the system ASP  (ASP 1), all
                 defined basic  user  ASPs  (ASPs 2-32),  and,  if  the
                 thread  has an  ASP group,  the primary  and secondary
                 ASPs in the thread's ASP group.

                 *ALLAVL  = All available ASPs will  be searched.  This
                 includes the  system ASP  (ASP 1),  all defined  basic
                 user ASPs (ASPs  2-32), and all available  primary and
                 secondary  ASPs,   (ASPs  33-255)  with  a  status  of
                 'Available'.

                 *CURASPGRP =  If  the thread  has  an ASP  group,  the
                 primary and secondary  ASPs in the thread's  ASP group
                 will be  searched to locate  the library.   The system
                 ASP  (ASP 1) and  defined basic user  ASPs (ASPs 2-32)
                 will not be searched.   If no ASP group  is associated
                 with the thread, an error will be issued.

                 *SYSBAS  = The  system  ASP (ASP  1)  and all  defined
                 basic  user  ASPs  (ASPs  2-32)  will  be searched  to
                 locate the  library.   No  primary or  secondary  ASPs
                 will  be  searched  even  if the  thread  has  an  ASP
                 group.

                 Element 1:

                 ASP  Device name.  The  device name of  the primary or
                 secondary  ASP  to  be  searched.    The  primary   or
                 secondary ASP  must  have been  activated (by  varying
                 on the  ASP device) and have a  status of 'Available'.
                 The  system ASP  (ASP 1)  and defined  user basic ASPs
                 (ASPs 2-32) will not be searched.

                 Element 2: Search type.  Specifies that only the

                 *ASP  =  Specifies  that  only  the  single  auxiliary
                 storage  pool (ASP) device  named in  element 1  is to
                 be searched.

                 *ASPGRP  =  Specifies  that the  entire  group  of the
                 primary auxiliary storage pool  (ASP) device named  in
                 element 1 is to be searched.

   OMITLIB       A  list of  up  to 300  libraries  or generic  library
                 names that  should be omitted.   *NONE is the default.

                 An omit list may not be entered for LIB(*CURLIB).

                 Any library entered is checked for existence.

                 No check occurs to see  if an omit library would  have
                 been  selected.     For  example,  if   LIB(*LIBL)  is
                 entered  with OMITLIB(ABC) and  library ABC is  not on
                 the library list, no error occurs.

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

You  must have *ALLOBJ special authority  to specify a library value of
*ALL, *ALLUSR, *ALLUSR2, *ALLNONQ, or *IBM.

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

The following TAA Tools must be on your system:

     CHKALLOBJ       Check *ALLOBJ special authority
     CHKDUPLST       Check duplicates in list
     CHKGENERC       Check generic
     CHKGENOBJ       Check generic object
     CHKOBJ3         Check object 3
     CVTDAT          Convert date
     EDTVAR          Edit variable
     EXTLST          Extract list
     EXTLST2         Extract list 2
     RTVSYSVAL3      Retrieve system value 3
     SNDCOMPMSG      Send completion message
     SNDESCMSG       Send escape message
     SNDJLGMSG       Send job log 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
   ------        ----    ---------      ----------    ----------

   CHKDUPOBJ     *CMD                   TAAOBKV       QATTCMD
   TAAOBKVC      *PGM       CLP         TAAOBKVC      QATTCL
   TAAOBKVR      *PGM       RPG         TAAOBKVR      QATTRPG
					

Added to TAA Productivity tools July 15, 2003


Home Page Up to Top