TAA Tools
CRTBNDRPG2      CREATE BOUND RPG PROGRAM 2             TAAPGND

The  Create Bound  RPG  Program 2  command  combines the  functions  of
CRTRPGMOD and  CRTPGM and changes  the defaults of  certain parameters.
The  intent  is  to have  a  simple  create command  for  single module
programs that replaces CRTBNDRPG.

The CRTBNDRPG program is limited  in that it does not have  a parameter
for  binding a Service  Program (it  must be  in a  Binding Directory).
CRTBNDRPG2  adds the BNDSRVPGM parameter and  also changes the defaults
of a few parameters.

A typical command would be:

             CRTBNDRPG2  PGM(ABC)

The defaults  would  cause  member ABC  of  the QRPGLESRC  file  to  be
created  as  a module  in  QTEMP.    The  CRTPGM command  is  then  run
automatically to create program ABC in the current library.

CRTBNDRPG2 defaults to use more typical functions:

     - ACTGRP(QILE)
     - DBGVIEW(*SOURCE) - Can be changed by use of a data area
     - OPTION(*SRCSTMT)
     - AUT(*USE)

Adding a PDM option for CRTBNDRPG2
----------------------------------

The  ADDPDMOPT command will  allow you to  add the IR  (ILE RPG) option
for CRTBNDRPG2.  Enter  the following command and  press F4 to  prompt.

             ADDPDMOPT  TAACMD(CRTBNDRPG2)

The command prompt  will allow you to name  the PDM options file.   You
may use a different value than IR.

Assume you  used the default  of IR.   You can then  use WRKMBRPDM with
the IR option such as:

 Opt  Member      Type        Text
 --   ------      ----        --------------------
 __   MBR1        RPGLE       A test member
 IR   MBR2        RPGLE       A second test member

When  the IR option  is used, there  is no 'Confirm  Compile of Member'
prompt if  an object  program of  the same  name already  exists.   The
REPLACE option on CRTBNDCL2 is used (default is *YES).

F4 may  be used in  conjunction with IR  to change some of  the command
parameters before submitting the job.

There  is no check made to  ensure that an RPGLE  type source member is
being used.   The  CRTBNDRPG2  command will  be attempted  on  whatever
member is specified.

Differences with CRTBNDRPG
--------------------------

CRTBNDRPG2 supports  a parameter that  is not on  CRTBNDRPG, but  is on
CRTPGM:

  **   BNDSRVPGM.  Bind service program.

A  special parameter CRTMSGS  has also been  added to allow  the CRTxxx
messages to be sent.  This is intended as a testing option.

The following defaults are changed:

  **   DFTACTGRP.  The parameter shown  is ACTGRP (not DFTACTGRP)  with
       a default of  QILE.  If  *DFT is entered, the  CRTBNDRPG command
       is  used   to  create  a  bound  RPG   program  in  the  default
       activation group (DFTACTGRP(*YES) is specified).

  **   DBGVIEW.   Changed  from *STMT to  *SOURCE.  The  default on the
       command is  *DTAARA.    If the  CRTBNDRPG2  data area  does  not
       exist  on  the  library  list,  *SOURCE  is  used.    The  first
       CRTBNDRPG2  data area  found on the  library list  can contain a
       value to be used such as *LIST.

       To create the data area, use the following command:

            CRTDTAARA   DTAARA(xxx/CRTBNDRPG2) TYPE(*CHAR)
                          LEN(10) VALUE(*yyyyy)
                          TEXT('Used by TAA CRTBNDRPG2 tool for
                            the DBGVIEW parameter')

       The value  must be  one of  the valid  entries  for the  DBGVIEW
       CRTBNDRPG parameter.

  **   OPTION.   Changed  from  blank (meaning  all  default values  to
       *SRCSTMT).    This causes  the  *SRCSTMT option  instead  of the
       default of *NOSRCSTMT.

  **   AUT.  Changed  to *USE  from *LIBCRTAUT.   This  is generally  a
       better default  as it prevents  misuse of the  debug capability.
       The following CRTPGM parameters are not supported:

  **   ALWUPD

  **   ALWLIBUPD

  **   ALWRINZ

  **   OPTION

Note that  CRTPGM allows multiple modules.   CRTBNDRPG2 supports only a
single module.

Temporary module in QTEMP
-------------------------

The  module name  created in QTEMP  is TAATMPMOD.   It is automatically
deleted as part of CRTBNDRPG2.

CRTBNDRPG2 escape messages you can monitor for
-----------------------------------------------

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

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

The parameters  up to  DBGVIEW  appear on  the initial  prompt.   Other
parameters may be accessed using F9 or F10.

   PGM           The  qualified  name of  the  program  to be  created.
                 The library value defaults to *CURLIB.

   SRCFILE       The   source  file  to  be  used.     The  default  is
                 QRPGLESRC.  The library  qualifier defaults to  *LIBL.
                 *CURLIB may also be used.

   SRCMBR        The source  member to  be used.   The default  is *PGM
                 meaning  the same name  as the program  to be created.

   GENLVL        Controls the  generation of  the object  based on  the
                 level  of the  error  messages.   The  default is  10.
                 The  value  must  be  between  0  and 20.    Refer  to
                 CRTBNDRPG for the definition.

   TEXT          The  text description  of the  program to  be created.
                 The default  is *SRCMBRTXT  meaning the  same text  as
                 appears on the source member.

   ACTGRP        The  Activation Group  to  be used.    The default  is
                 QILE.     *NEW  or  *CALLER   (which  also  appear  on
                 CRTBNDRPG) may also be used.   Refer to CRTBNDRPG  for
                 the definition.

                 *DFT  is  a   new  entry  which  allows   the  default
                 activation  group  as  provided by  the  system  to be
                 used.   If *DFT  is specified,  the CRTBNDRPG  command
                 is   used    instead   of   CRTRPGMOD    and   CRTPGM.
                 DFTACTGRP(*YES) is specified on CRTBNDRPG.

   DBGVIEW       The  Debug View to  be used.   The default  is *DTAARA
                 which  differs  from  the CRTBNDRPG  default.    If no
                 CRTBNDRPG2  data  area exists  on  the  library  list,
                 *SOURCE is used as the default.

                 The first  CRTBNDRPG2 data area found  can contain the
                 default  that  you  wish to  use.    See  the previous
                 comments how how to create the data area.

                 *STMT, *LIST,  *COPY,  *ALL,  or  *NONE  may  also  be
                 entered.  Refer to CRTBNDRPG for the definition.

   BNDSRVPGM     The Bind  Service Program  parameter allows  up to  40
                 Service  Programs to be  bound to the  program.  Refer
                 to CRTPGM for the definition.

   BNDDIR        The  Binding  Directory  parameter  allows  up  to  40
                 Binding  Directories  to be  used  when  creating  the
                 program.  Refer to CRTBNDRPG for the definition.

   OPTION        Source level  options may be  entered as a  list.  The
                 default  is  *SRCSTMT  to  allow  the  source sequence
                 numbers to  be  displayed  on the  debug  display  and
                 used  when  debugging.   The  other  defaults are  the
                 same  as on  CRTBNDRPG (*XREF *GEN  *NOSECLVL *SHOWCPY
                 *EXPDDS *EXT  *NOSHOWSKP *DEBUGIO  and *NOEVENTF)  and
                 need not  be specified.   Refer  to CRTBNDRPG  for the
                 definition.

   OUTPUT        Specifies  whether  a compiler  listing  is generated.
                 The default is  *PRINT to  cause the  listing.   *NONE
                 may be  specified to  prevent the  listing.  Refer  to
                 CRTBNDRPG for the definition.

   OPTIMIZE      The  optimization level of  the program.   The default
                 is  *NONE.   *BASIC  or *FULL  may also  be specified.
                 Refer to CRTBNDRPG for the definition.

   INDENT        Whether  structured  operations  should  be  indented.
                 The default is  *NONE.  The characters to  be used for
                 indentation  may be entered.   Refer  to CRTBNDRPG for
                 the definition.

   CVTOPT        Specifies  how  the   compiler  handles  date,   time,
                 timestamp, graphic,  and variable  length data  types.
                 *NONE  is the default  meaning to  ignore these types.
                 *DATETIME, *VARCHAR,  *GRAPHIC,  and  *VARGRAPHIC  may
                 be entered  to cause  these fields  to be declared  as
                 fixed  length character.   Refer to CRTBNDRPG  for the
                 definition.

   SRTSEQ        The  sort sequence used  by the program.   The default
                 is *HEX.   *JOB, *JOBRUN,  *LANGIDUNQ, *LANGIDSHR,  or
                 a sort  table name  may also be  specified.   Refer to
                 CRTBNDRPG for the definition.

   LANGID        Specifies  the  language identifier  to  be  used when
                 SRTSEQ(*LANGIDUNQ)  or  SRTSEQ(*LANGIDSHR)  is   used.
                 *JOBRUN is the  default.  *JOB or  a specific language
                 identifier  may be  entered.   Refer to  CRTBNDRPG for
                 the definition.

   REPLACE       Whether  to  replace  the   existing  program.     The
                 default is *YES.   *NO may  also be specified.   If an
                 existing     program     is     replaced,     security
                 considerations   from   the   previous   version   are
                 retained.  Refer to CRTBNDRPG for the definition.

   USRPRF        Whether to run  the program with  the user or  owner's
                 authority.   The default  is *USER.   *OWNER  may also
                 be specified.

   AUT           The  authority of the  program.  The  default is *USE.
                 This   differs   from   the   CRTBNDRPG   default   of
                 *LIBCRTAUT.   *LIBCRTAUT, *ALL, *USE, or  *EXCLUDE may
                 also  be  specified.    Refer  to  CRTBNDRPG  for  the
                 definition.

                 The default  has been  changed to  better protect  the
                 security  of programs.    Using  the default  for  the
                 *LIBCRTAUT  function  typically results  in  a program
                 being  created  with *CHANGE  authority.   This allows
                 any user who  is authorized to  the debug commands  to
                 be able  to debug the  program.  Because  debug allows
                 changes  during the  running of  the program, it  is a
                 questionable function  to  allow for  all  programmers
                 who have debug authority.

                 Specifying  *USE   allows  only   the  owner   (or  an
                 *ALLOBJ) user to be able to debug the program.

   TRUNCNBR      Specifies  whether a  truncated value should  be moved
                 to the  result field  or an  error should  occur  when
                 numeric  overflow occurs.    The  default is  *YES  to
                 allow truncation.   *NO may  be specified to  cause an
                 error.  Refer to CRTBNDRPG for the definition.

   FIXNBR        Specifies  whether  decimal  data which  is  not valid
                 should be  fixed at run  time.   *NONE is the  default
                 meaning  that  an  error  occurs  on  invalid  decimal
                 data.    The  other values  that  may  be  entered are
                 *ZONED or *INPUTPACKED.   Refer  to CRTBNDRPG for  the
                 definition.

   TGTRLS        The release  the program is intended  to run on.   The
                 default is  *CURRENT.  *PRV or  a specific release may
                 also be  entered.   If the  object is  intended for  a
                 prior  release,  the  TGTRLS  parameter   on  the  SAV
                 commands must  also be used.   See the  command prompt
                 for the supported releases.

   ALWNULL       Specifies  the handling  of null capable  fields.  The
                 default is *NO meaning  the compiler will not  process
                 fields  that  are  null  capable and  a  data  mapping
                 error   will  occur   if  such   a  field   is  found.
                 *INPUTONLY, *USRCTL,  or  *YES may  also  be  entered.
                 Refer to CRTBNDRPG for the definition.

   DEFINE        Specifies  condition  names   before  the  compilation
                 begins.    This  is  the  equivalent  of  the  /DEFINE
                 statement in the source.   Refer to CRTBNDRPG for  the
                 definition.

   ENBPFRCOL     Whether to  enable performance  data collection.   The
                 default  is *PEP.   *ENTRYEXIT  or  *FULL may  also be
                 specified.  Refer to CRTBNDRPG for the definition.

   PRFDTA        Specifies  the  program  profiling  data  attribute of
                 the  program.      This  provides   for  an   advanced
                 optimization technique.   Refer  to CRTBNDRPG  for the
                 definition.

   CRTMSGS       Whether  to send messages for  the command string used
                 for the  CRT commands.    The default  is *NO  to  not
                 send  any CRT  messages.   *YES  may  be specified  to
                 cause  messages   to  be  sent.    This  parameter  is
                 intended as a testing option.

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

None.

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

The following TAA Tools must be on your system:

     EXTLST          Extract list
     RSNLSTMSG       Resend last message
     SNDCOMPMSG      Send completion message
     SNDESCMSG       Send escape 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
   ------        ----    ---------      ----------    ----------

   CRTBNDRPG2    *CMD                   TAAPGND       QATTCMD
   TAAPGNDC      *PGM       CLP         TAAPGNDC      QATTCL
					

Added to TAA Productivity tools September 15, 2000


Home Page Up to Top