RPLPGM        REPLACE PROGRAM                            TAAPGMC

 The Replace  Program command re-creates  an existing program  using the
 parameters  that are  stored in  the object.    Most program  types are
 supported including multi-module ILE programs.

 The  intent of RPLPGM  is to provide  a simple re-create  when only the
 source statements have been changed.

 A typical command would be entered as:

        RPLPGM   PGM(xxxxxx)

 RPLPGM extracts the  libraries specified  for any externally  described
 files used  in the  program (if  not already on  the library  list) and
 adds  them to the current library list  when the program is re-created.
 The same libraries are then removed.

 RPLPGM  extracts  the  existing   parameters  from  the  object   (e.g.
 ALWRTVSRC  and RMVOBS)  and re-creates  the object.   REPLACE(*YES)  is
 specified  on the create command  which will place the  old object into
 the QRPLOBJ  library,  copy  the authorizations  and  re-establish  the
 values of  USRPRF and  USEADPAUT.   The TEXT parameter  value is  taken
 from the  source member and  not the existing  object.  CHGPGM  is used
 for attributes which only exist on CHGPGM.

 Not  every  parameter  on  all of  the  create  commands  is supported.
 RPLPGM uses the sub  tools RTVPGMA, RTVILEPGMA, and RTVILEMODA.   These
 commands  do  not  support   all  possible  parameters.    Specifically
 excluded  are those  that impact  the listing such  as GENLVL  which is
 retained by the system.

 Error messages you may wish to monitor for are:

       TAA9891    ILE program failed due to module or service pgm
       TAA9892    Create module or single bound program failed
       TAA9893    CRTPGM failed
       TAA9895    A supported source type does not have the
                     corresponding create command on the system
       TAA9896    An unknown or unsupported source type exists
       TAA9897    Program exceeds 135 modules or 277 service pgms

 To  replace  a  program  that  adopts  authority  using  USRPRF(*OWNER)
 requires *SECADM  authority.  No pre-check  occurs.  A  specific escape
 message will occur.

 S/38 Commands
 -------------

 The   CRTxxxPGM  commands  for   S/38  did  not   support  the  REPLACE
 parameter.  This handles  the USRPRF parameter, copies  authorizations,
 and deletes the old program if the create is successful.

 This replace  function  is simulated  by RPLPGM.   The  new version  is
 created  in  QTEMP  with the  USRPRF  value  of  the original  program,
 authorizations  are copied  from the  old version,  the old  version is
 deleted, and the new version is moved.

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

    PGM           The qualified  name  of the  program to  be  replaced.
                  The library defaults to *LIBL.

    SRCFILE       The  qualified name  of the  source file  to  be used.
                  The  default is *OBJD meaning to  use the same file as
                  is specified  in the  object description  (the  source
                  file originally used).

    SRCMBR        The source  member to be used.   The default  is *OBJD
                  meaning   to  use  the   same  source   member  as  is
                  specified  in  the  object  description  (the   source
                  member originally used).

    ALWRTVCL      Whether to  allow the retrieve  of CL  source if a  CL
                  program  is replaced.   The  default is  *SAME meaning
                  the  current  attribute of  the program  for ALWRTVSRC
                  is used.   *YES or  *NO may  be specified to  override
                  the current attribute.

    RMVOBS        How   the    observable   information    (the   debug)
                  capability  should be handled.   *SAME  is the default
                  which means the  same as the  existing program.   *ALL
                  may   be  specified   to   make   the  program   fully
                  observable.    *NONE may  be specified  to  remove the
                  observability.

                  Note that you cannot  compress the observability  with
                  this option.   If it is already  compressed, replacing
                  the  program will cause  the full observability  to be
                  re-created.   You  must use the  CPROBJ system command
                  or consider the use of the SQZPGMSIZ TAA tool.

    OWNER         Who should  be  the  owner of  the  new object.    The
                  default is  *SAME, meaning the same  owner will exist.

                  If  the  owner is  the  group profile  of  the current
                  user, OWNER(*SAME) may be  used.  Otherwise, you  must
                  be  the owner  or  have *ALLOBJ  special authority  to
                  use OWNER(*SAME).

                  *NEW  may  be specified  to  allow you  to  become the
                  owner of the  program.   You must  have the  *OBJEXIST
                  right to the existing program to specify *NEW.

                  To  replace  a program  that  adopts  authority  using
                  USRPRF(*OWNER) requires *SECADM authority.

    DLTSPLF       A  *YES/*NO  parameter for  whether  the spooled  file
                  for  the  compiler listing  should  be deleted  if the
                  create is  successful.   *NO  is  default meaning  the
                  spooled file is always retained.

                  *YES may  be specified to  delete the spooled  file if
                  the create is successful.

    DETAIL        The   type  of  CRTPGM  listing   to  output  for  ILE
                  programs.   The default  is *NONE  meaning no  listing
                  occurs.

                  *BASIC,  *EXTENDED, or  *FULL may  be specified  which
                  are  passed  thru  to the  CRTPGM  command.   See  the
                  CRTPGM DETAIL parameter for a full explanation.

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

 The following program types are supported.

       BAS
       BAS38
       CBL
       CBLLE
       CBL36
       CBL38
       CLE
       CLP
       CLP38
       CLLE
       CPPLE
       PLI
       PLI38
       RPG
       RPG36
       RPG38
       RPGLE

 The TGTRLS parameter  is not  supported.  The  RPG parameter  IGNDECERR
 and ALWNULL are not supported.

 Some ILE parameters are  not supported.  For example,  if observability
 is  removed  from  a program  created  by  CRTBNDRPG  or CRTBNDCL,  the
 information is not available to specify on CHGPGM.

 To  replace  a  program  that  adopts  authority  using  USRPRF(*OWNER)
 requires *SECADM authority.

 ILE programs are  limited to  135 modules per  program and 277  service
 programs per program.

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

 The following TAA Tools must be on your system:

       CHKALLOBJ     Check *ALLOBJ special authority
       CHKSECADM     Check *SECADM special authority
       RTVILEMODA    Retrieve ILE module attributes
       RTVILEPGMA    Retrieve ILE program attributes
       RTVPGMA       Retrieve program attributes
       RTVPGMREFL    Retrieve program reference libraries
       SNDCOMPMSG    Send completion message
       SNDESCMSG     Send escape message
       SNDDIAGMSG    Send diagnostic 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
    ------        -----      ---------      ----------     -----------

    RPLPGM        *CMD                      TAAPGMC        QATTCMD
    TAAPGMCC      *PGM          CLP         TAAPGMCC       QATTCL
    TAAPGMCC2     *PGM          CLP         TAAPGMCC2      QATTCL
    TAAPGMCC3     *PGM          CLP         TAAPGMCC3      QATTCL

Added to TAA Productivity Tools April 1, 1995


Home Page

Powered by AS/400Powered by AS/400 Last modified on October 10, 2008 © 1995, 2008 - Jim Sloan, Inc.