TAA Tools

The Fix Qualified  Name command allows  you to add a  library qualifier
to  non-system  commands  (and  optionally  to  system  commands)  used
within  CL source.  The  source is updated to  include the library that
the command  is  found in.    The source  is  reformatted in  a  manner
similar to if  you had prompted for every command in  SEU.  The library
of  the command must  be on the  library list and  the first occurrence
is used.

Library  qualifying  command   names  can   be  important  to   prevent
potential conflicts  where the same  command name appears  in different
libraries  with   potentially  different  parameters  and/or  different
command processing programs (CPP).

You may  specify  a  single  member, a  generic  member  name,  or  all
members of a source file to be fixed.

A typical command would be entered as:


Because all of the  members will be rewritten, no members  can exist in
the  QCLSRC2 file  when  the command  begins.   The  QCLSRC2  file must

The  default is to library qualify  non-system commands (not in QSYS or
QSYS38)  that are  not  already qualified.    The  commands may  be  in
TAATOOL  or user  libraries.   If  the  command is  found, the  library
where the command was found is used to add the library qualifier.

Reformatting  of the source would occur in  a manner similar to the use
of F4 in  SEU.   A listing  occurs with one  line per  member plus  any

If a  command cannot be  found on the library  list, the member  is not
copied  or  replaced.    FIXQLFNAM  determines  if the  command  exists
anywhere on  the system  and if  the same  name  exists, the  libraries
where the name was found are listed.

See also  the FIXQLFCPP tool  which will library  qualify the calls  in
user command definition objects.

FIXQLFNAM escape messages you can monitor for

      TAA9891    One or more errors were found.

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

Command parameters                                    *CMD

   MBR           The member  to be fixed by adding  a library qualifier
                 to  non-system  commands  (not  found  in  QSYS).    A
                 specific member, a generic  member, or all members  in
                 the file (special value *ALL) may be specified.

   INPSRCF       The  qualified file  name  of the  input source  file.
                 The  library  value defaults  to *LIBL.    *CURLIB may
                 also be used.  The file  must be a source file with  a
                 record length of  92 to 240 (80 - 228  bytes of data).

   OUTSRCF       The  qualified file  name of  the output  source file.
                 The   file   defaults   to   *INPSRCF   meaning    the
                 reformatted source will  be written back to  the input
                 source file member if no errors occur.

                 The  library qualifier defaults  to blank  which means
                 to  use the  same library  as the  INPSRCF.   *LIBL or
                 *CURLIB may also be  used.  The file must be  a source
                 file  with a  record length  of 92  to 240  (80  - 228
                 bytes of data).

                 If   a  single  member  is   being  reformatted  to  a
                 different file (not  being updated),  the member  must
                 not exist.

                 If all  members in a file  are being reformatted  to a
                 different  file, no  members may  exist in  the output
                 source file.

                 If generic  members in  a file  are being  reformatted
                 to  a different  file,  the corresponding  member  may
                 not exist.

                 Any  members which  are not  of a  type CLP,  CLLE, or
                 CMD  will be  identified on  the listing  and will not
                 appear in the output file.

   SYSCMD        A  *YES/*NO  parameter   that  determines  if   system
                 commands  (commands   in  QSYS  or   QSYS38)  will  be
                 library qualified.  The default is *NO.

                 *YES  may  be  specified  to  library  qualify  system

   ALWLDGCOM     A *YES/*NO  parameter  that  defaults  to  *YES  which
                 allows any  comments to  the left of  a command  to be
                 retained.    The  comment  must  be totally  contained
                 within the first  13 positions of  the source  record.

                 If you  place  a comment  in positions  1-13 before  a
                 command and  then prompt for  the command in  SEU, the
                 string  that  is returned  places  the comment  at the
                 end of the command.

                 *NO causes any  comments in 1-13  to be placed at  the
                 end of  the command as  if you had prompted  with SEU.

   CMDCOL        A  *YES/*NO parameter  that determines if  the command
                 names will be  kept in the  same column (beginning  in
                 position 14).

                 *NO  is  the  default meaning  the  qualified  library
                 name  will  begin   in  position  14  as  if  you  had
                 prompted for the  command in  SEU.   The command  name
                 follows   the   library   qualifier.      If   library
                 qualifiers  are  of  different  lengths,  the  command
                 names   will  not  begin  in  the  same  column.    In
                 addition,   if    SYSCMD(*NO)   is   specified,    any
                 unqualified  system  command   names  would  begin  in
                 position 14.

                 *YES  may be specified  to align all  command names in
                 position 14.    If  a  qualified name  exists,  it  is
                 placed  to  the   left  of  the  command   name.    If
                 insufficient  room exists to  the left  of the command
                 (because of  a label  or  comment), the  qualifier  is
                 added  beginning in  position 14  and  the command  is
                 flagged on the listing.

   SEQNBRS       The  default is  *RESEQ which  causes  the reformatted
                 source to be sequenced as 1.00, 2.00 etc.

                 The  value *SAME  causes FIXQLFNAM  to attempt  to use
                 the same  sequence  numbers as  were  input.   Because
                 some commands  are contained  on multiple  records and
                 the  number of output  records may not be  the same as
                 the number of input  records, some changes may  occur.
                 The  sequence  number  of the  first  record  of  each
                 command  is used  as a base.   Each  additional record
                 to be output for  the same command  is bumped by  .01.

                 Thus  for SEQNBRS(*SAME),  if the  first  record of  a
                 command  was 78.00,  the first  record output  for the
                 command  would be  78.00.  Any  additional records for
                 the same command would be 78.01, 78.02 etc.

   MAXFMTWTH     The  maximum  formatting  width  to  be  used.     The
                 default  is  *FILE to  format  the  statements to  the
                 length of the source statements within the file.

                 A  length  can  be specified  between  80  and  240 to
                 format the statement based on a shorter width.

                 For example,  if  your  source  statements  are  wider
                 than 80,  but you want to  format them for an  80 byte
                 wide display, specify MAXFMTWTH(80).

   ESCAPE        A  *YES/*NO value for  whether an  escape message will
                 be sent if errors exist.   *NO is the default  meaning
                 the  command  completes  normally  with  a  completion
                 message  that describes whether  errors exist  or not.

                 *YES  may be  specified to  send TAA9891  as an escape
                 message if errors exist.


See previous comments.


The following TAA Tools must be on your system:

     CHKGENERC       Check generic
     CVTMBRLST       Convert member list
     EDTVAR          Edit variable
     FILEFDBCK       File feedback
     HLRMVMSG        HLL Remove message
     RPGSTSDS        RPG status data structure
     RTVQLFNAM       Retrieve qualified name
     RTVDBFA         Retrieve data base file attributes
     RTVOBJLST       Retrieve object list
     RTVSYSVAL3      Retrieve system value 3
     RTVVALA         Retrieve value attributes
     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
   ------        ----    ---------      ----------    ----------

   FIXQLFNAM     *CMD                   TAACMER       QATTCMD
   TAACMERC      *PGM       CLP         TAACMERC      QATTCL
   TAACMERC2     *PGM       CLP         TAACMERC2     QATTCL
   TAACMERC3     *PGM       CLP         TAACMERC3     QATTCL
   TAACMERC4     *PGM       CLP         TAACMERC4     QATTCL
   TAACMERR      *PGM       RPG         TAACMERR      QATTRPG


   TAACMERC   CL pgm      - Gets member list
     TAACMERR   RPG pgm - Print and update program
       TAACMERC2  CL pgm    - Copies temporary source to out file
       TAACMERC3  CL pgm    - Determines the qualified library name
       TAACMERC4  CL pgm    - Checks for member existence
       TAACMERC5  CL pgm    - Does RTVQLFNAM if command is not found

Added to TAA Productivity tools July 15, 2003

Home Page Up to Top