TAA Tools
CHKPGMRLS       CHECK PROGRAM RELEASE                  TAAPGNO

The Check  Program Release  command allows  you to  check for  programs
and modules that  were created on a specific release.   You may run the
command  over  multiple or  all libraries.    Options exist  to exclude
certain  releases,  omit a  list  of  libraries,  and  to  replace  the
program or module if the source exists.

You must  have *ALLOBJ special authority to  specify *ALLUSR libraries.

The  release information is based on the  level of the compiler and not
necessarily the release  of the  system when the  program was  compiled
(see later discussion).

You may  enter a generic value  for a release  such as V5*, V5R1*.   If
the  value is not  generic, it must  contain 6 characters  (V5R1M would
be invalid).  The release value must start with a 'V'.

A typical command to check for a list of releases would be:

             CHKPGMRLS   RLS(V3* V4R1M0) LIB(xxx)

A spooled file  would be  displayed of  all programs  and modules  that
exist  in the  specified  library and  were  created on  the  specified
releases.  If  the source no longer exists  for the objects, the object
is flagged.

The  RLS  parameter is  either  an 'include'  or  'exclude' list.   For
example,  if you  want  to  display  all  the programs  that  were  not
created on V4R5M0, you would specify:

             CHKPGMRLS   RLS(V4R5M0) LIB(xxx) SELECT(*EXCLUDE)

What release information is checked for
---------------------------------------

DSPOBJD  provides  several  fields  relative  to  the  release  of  the
compiler  and system.  However, this does  not describe the release the
program was created for by using the TGTRLS parameter.

DSPPGM describes the  'earliest release that the  program can run  on'.
This is  known as the  'minimum release' and  is used to  check against
the release specified on the CHKPGMRLS command.

Some compilers  (such as RPG) will show  a much earlier minimum release
because the compiler  has not changed  since that time.   For  example,
if you create an OPM  RPG program with a TGTRLS of  V4R4M0, the minimum
release will be V2R3M0 in most cases.

CHKPGMRLS escape messages you can monitor for
---------------------------------------------

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

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

   RLS           The  list of  releases and/or  generic releases  to be
                 included  or  excluded.    Up to  40  releases  may be
                 specified  in a  format  of  VxRxMx  such  as  V3R2M0,
                 V4R3M0,  etc.    No  checking occurs  to  ensure  that
                 valid releases are entered.

                 The  release must start  with a 'V'.   A generic value
                 may  be  entered  such  as   V5*  or  V5R1*.    If   a
                 non-generic   value  is   entered,   it   must  be   6
                 characters (V5R1M would be invalid).

                 The  release  checked  for  is  the 'earliest  release
                 that the program may run  on' and not necessarily  the
                 system release  the object  was created  on.  See  the
                 previous comments.

                 By  default,  any  releases specified  are  'included'
                 meaning  the  objects  created on  these  releases are
                 the only  ones that will  appear in  the listing.   To
                 make an 'exclude' list, specify SELECT(*EXCLUDE).

   LIB           The library  or libraries  to be checked.   A  list of
                 to   300  libraries   or  generic  libraries   may  be
                 entered.  A  generic name may be  used or the  special
                 values *LIBL, *USRLIBL, *CURLIB, or *ALLUSR.

                 You  must have  *ALLOBJ special  authority to  specify
                 *ALLUSR.

   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.

   OBJTYPE       The  object type to  be checked.  The  default is *ALL
                 for both *PGM and *MODULE  object types.  Either  *PGM
                 or *MODULE may also be entered.

   OMITLIB       A list of up to 300 libraries to be omitted.

                 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.

   PGMATR        The program  or module  attribute to  be checked  for.
                 A  list of  up  to 100  values  may be  entered.   The
                 default is *ALL.

                 A  specific value such  as RPG or  CLP may be entered.
                 There is no checking  to ensure that a valid  value is
                 entered.

                 The  special value  *ALLCL  exists to  check for  CLP,
                 CLP38, and CLLE.

                 The  special value  *ALLRPG exists  to check  for RPG,
                 RPG36,  RPG38,  RPT,  RPT36,  RPT38,  RPGLE,   RPGMOD,
                 SQLRPG, SQLRPGLE, and SQLRPGMOD.

                 The special  value *ALLCBL  exists to  check for  CBL,
                 CBL36,  CBL38,  CBLLE, CBLMOD,  SQLCBL,  SQLCBLLE, and
                 SQLCBLMOD.

   SELECT        Whether to  use  the  RLS  list  as  an  'include'  or
                 'exclude'.    The default  is  *INCLUDE  meaning  that
                 objects created  on the releases specified  in the RLS
                 parameter  are the only  ones that will  appear in the
                 listing.

                 *EXCLUDE may  be specified  to  make the  RLS list  an
                 'exclude'  meaning only  objects  created on  releases
                 that  are not specified  would appear  in the listing.
                 *EXCLUDE  may   not   be  used   when   RLS(*ALL)   is
                 specified.

   ACTION        The type  of action  to perform  on selected  objects.
                 *CHECK  is  the default,  meaning that  the  source is
                 checked  to   see   if   it   exists   in   the   same
                 library/file/member  where  the  object   was  created
                 from.   If the source  does not exist,  it is flagged.
                 The objects are not replaced.

                 *REPLACE  may be  specified to replace  the objects if
                 the source  exists.   The replace  function will  fail
                 if  required externally described  files do  not exist
                 (such  as not  on the library  list).   Any errors are
                 flagged on the listing.

   OUTPUT        How  the output  should  be  displayed.    *  means  a
                 display    appears   if    the    command   is    used
                 interactively.   If  the command  is  run in  batch or
                 *PRINT is specified, a spooled file is output.

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

You must have *ALLOBJ special  authority to specify *ALLUSR  libraries.

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
     CMPLSTPARM      Compare list parameters
     CRTDUPPF        Create duplicate physical file
     EDTVAR          Edit variable
     EXTLST          Extract list
     EXTLST2         Extract list 2
     RPLMOD          Replace module
     RPLPGM          Replace program
     RTVILEMODA      Retrieve ILE module attributes
     RTVMODA         Retrieve module attributes
     RTVPGMA         Retrieve program attributes
     RTVSYSVAL3      Retrieve system value 3
     SNDCOMPMSG      Send completion message
     SNDESCMSG       Send escape message
     SNDJLGMSG       Send job log message
     SNDSTSMSG       Send status message

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

None, the tool is ready to use.

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

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

   CHKPGMRLS     *CMD                   TAAPGNO       QATTCMD
   TAAPGNOC      *PGM       CLP         TAAPGNOC      QATTCL
   TAAPGNOC2     *PGM       CLP         TAAPGNOC2     QATTCL
   TAAPGNOR      *PGM       RPG         TAAPGNOR      QATTRPG
					

Added to TAA Productivity tools December 15, 2002


Home Page Up to Top