TAA Tools

The Compare  Program Parameters  command compares  the parameter  lists
being  passed between  programs.  A  single program,  a generic  set of
programs,  or all programs in a library  may be compared.  The programs
must have been written  in either CL or  RPG and the source must  still
exist where the programs were created from.

A typical command would be:

             CMPPGMPARM   PGM(LIB1/ABC)

The program  would be accessed and  the source member  determined.  The
source  would  be  scanned  to determine  the  Call  commands  (or Call
operations in  RPG).   The  called program  would be  determined  (only
literals or RPG  constants can be used)  and the source for  the called
program would be accessed and the parameter lists compared.

The  CMPSRCPARM TAA Tool  is used to  make the comparisons.   A listing
is produced with one line per  for each call and whether the  parameter
lists match.

If the parameter lists  do not match, the CMPSRCPARM  spooled file will

Another  typical command  would be  to check  all of  a generic  set of

             CMPPGMPARM   PGM(ABC*)

or all of the programs in a library such as:

             CMPPGMPARM   PGM(LIB1/*ALL)

Several  restrictions  exist with  the CMPSRCPARM  tool and  other base
tools used.  The following are the major restrictions:

  **   Only CL or RPG source types are supported.

  **   The  source   for  the   programs   must  exist   in  the   same
       file/library/member used to create the programs.

  **   Any externally  described files must  exist on the  library list
       to  be  included.    If  they  do  not  exist,  a comparison  is
       attempted, but may not have all of the information.

  **   The name on the Call must be  a literal or an RPG constant.   If
       a variable name is used, the Call is flagged.

  **   Any  calls  to programs  in  QSYS  or  QGY cannot  be  compared.
       These  Calls  are  flagged.    See  the parameter  BYPQSYS  that
       allows these CALLs to be  bypassed and not considered an  error.

  **   See the parameter  BYPNOCALLS to prevent the message  text which
       describes  an  error  and will  cause  the  spooled  file to  be

  **   RPG  field  descriptions  are accessed  by  RTVRPGFLD  which has
       certain restrictions.

  **   CL variable  descriptions are  accessed by  RTVCLPVAR which  has
       certain restrictions.

Command parameters                                    *CMD

   PGM           The qualified  name of the  program to be checked.   A
                 single  program, a generic name,  or the special value
                 *ALL may  be  used.   The  library value  defaults  to
                 *USRLIBL.  *ALLUSR or *CURLIB may also be used.

   DLTSPLF       Determines  whether   to  delete  the   spooled  files
                 caused  by the  sub tool  CMPSRCPARM if  the parameter
                 lists match.    *YES  is  the  default  to  cause  the
                 spooled files to be deleted if a match occurs.

                 *NO may be specified to retain all spooled files.

   RQDEXTDSC     Determines  whether  any  externally  described  files
                 are  required.     *YES  is   the  default.     If  an
                 Externally   Described  file   is  specified   in  the
                 source,  it must  exist  on  the library  list  or  an
                 error will occur.

                 *NO may  be specified in  which case if  an Externally
                 Described  file exists,  the field  specifications are
                 used.   If  an  Externally  Described  file  does  not
                 exist,  no error  occurs,  but  the information  about
                 some of the fields may be missing.

   BYPQSYS       A  *NO/*YES parameter  for  whether to  consider calls
                 to programs in  QSYS or  QGY (which  are not  checked)
                 an error.

                 *NO is the  default to consider these calls  an error.
                 An  escape  message  is  sent  and  the  spooled  file
                 describes the error.

                 *YES  may be specified  to bypass these  CALLs and not
                 consider them an error.

   BYPNOCALLS    A  *YES/*NO  parameter  for  whether  to   consider  a
                 program that has no CALLs an error.

                 *YES is the default to not consider it an error.

                 *NO may  be specified to flag these  types of programs
                 and the command will end with an escape message.

   RESTARTPGM    If  PGM(*ALL) is specified,  this parameter provides a
                 form of  recovery  by  allowing  processing  to  begin
                 with the name of a program.

                 The default  is *NONE  which must  be used  if PGM  is
                 other than *ALL.

                 When  PGM(*ALL) is used,  a restart of  *NONE means to
                 process all of the programs.

                 If a  restart  name  is entered  with  PGM(*ALL),  any
                 programs that  are 'less  than' the  restart name  are
                 bypassed.   The restart  name does  not have  to exist
                 as a program.


The  sub tool CMPSRCPARM has several  restrictions along with the other
base tools used.  The major restrictions were listed previously.


The following TAA Tools must be on your system:

     CMPSRCPARM      Compare source parameters
     EDTVAR          Edit variable
     RTVPGMA         Retrieve program attributes
     RTVCLPCALL      Retrieve CLP calls
     RTVILEMODA      Retrieve ILE module attributes
     RTVRPGCALL      Retrieve RPG calls
     RTVSYSVAL3      Retrieve system value 3
     SNDCOMPMSG      Send completion message
     SNDESCMSG       Send escape message
     SNDSTSMSG       Send status message


None, the tool is ready to use.

Objects used by the tool

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

   CMPPGMPARM    *CMD                   TAAPGMO       QATTCMD
   TAAPGMOC      *PGM       CLP         TAAPGMOC      QATTCL
   TAAPGMOR      *PGM       RPG         TAAPGMOR      QATTRPG

Added to TAA Productivity tools September 1, 1996

Home Page Up to Top