TAA Tools
CVTLIBDBF       CONVERT LIBRARY DATA BASE FILES        TAADBHC

The Convert  Library Data  Base files  command provides  an outfile  of
the data  base files in  a library or  libraries.  Up  to 300 libraries
may  be  specified  or  the special  values  *LIBL,  *USRLIBL, *CURLIB,
*ALL, *ALLUSR, *ALLUSR2,  *ALLNONQ, or  *IBM.  One  record per file  is
written  to the  file  LIBDBFP in  the  library you  specify.   Options
exist  to output only physical or logical  files or only data or source
files.

The user must be authorized to:

  **   Any specified libraries and the files within the libraries or

  **   The TAACVTLIBD authorization list (*USE authority).

Program adoption is not considered when checking authority.

A typical command  to create an  outfile of the  source files found  in
LIB1 would be:

          CVTLIBDBF    LIB(LIB1) FILETYPE(*SRC) OUTLIB(xxx)

The system  cross reference  file QADBXREF is  used which  contains one
record  for each data  base file on  the system.   The file  is read in
arrival sequence.  The records in the  file are not in library or  file
sequence.   The records  are output to  a temporary  file in  QTEMP and
the  OPNQRYF and CPYFRMQRYF  are used to  place the records  in library
and file name sequence within the LIBDBFP file.

The  LIBDBFP file uses the  same format of the QADBXREF  file.  You can
display the field names by:

          DSPFMT   TAADBHCP

The user of  the command must be  authorized to the library  specified.
To use  the special library values, *ALL,  *ALLUSR, *ALLUSR2, *ALLNONQ,
or *IBM, you must have the *ALLOBJ special authority.

The  QTEMP library may not be specified  and is bypassed if *USRLIBL or
*ALL is specified.   QTEMP does not  exist in the  system file that  is
read.

There are three conditions you may consider monitoring for:

         TAA9894   Library does not exist
         TAA9895   You are not authorized to the library
         TAA9896   No data base files of the type specified

QADBXREF may be out of synch
----------------------------

The system  file QADBXREF  may become out  of synch  with the  files on
your  system.  If  you know a  file exists that  does not  appear to be
included in the output of CVTLIBDBF, run:

                 DSPPFM     FILE(QADBXREF)

Scan for the file  name you think  may be missing.   If it is  missing,
you need to rebuild the QADBXREF file.

The  RCLSTG  system  command and  the  RCLSTG2  TAA  tool  support  the
capability  to   reclaim  (rebuild)  the  file.     You  must  use  the
restricted state to use RCLSTG or RCLSTG2.  Specify either:

             RCLSTG      SELECT(*DBXREF)
             RCLSTG2     SELECT(*DBXREF)

The  *DBXREF function  does not  take the  long period  of time  that a
RCLSTG SELECT(*ALL) function  does.  The  *DBXREF function is  normally
measured in minutes and not hours.

Translation required
--------------------

For non-US  countries, translation of  object and library names  may be
required.   For example, if the '$ #  @' characters used in some object
names such  as #RPGLIB are  translated on  your system  to a  different
name,  you may  need to  perform translation  as the  QADBXREF file  is
read.

The  CVTLIBDBF data  area in  TAASECURE is  provided for  this purpose.
It is shipped as blank meaning  no translation will occur.  To  provide
for translation use:

            EDTCONARR   DTAARA(TAASECURE/CVTLIBDBF)

Up to 10 characters  may be entered for translation.   If you translate
# to % and $ to :, the data area should be entered to appear as:

     Sequence      Object char  Len = 1     Trans char   Len = 1
     --------      --------------------     --------------------

       010         #                        %
       020         $                        :

The CVTLIBDBF  command uses the  information to perform  translation on
both the library and object names.

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

   LIB           Specifies  1  to  300  libraries  or  generic  library
                 names  to  be  searched.    QTEMP  may  not  be  named
                 because  it  is  not   in  the  system  file  that  is
                 searched.

                 The  special value *LIBL  may be used  to describe all
                 libraries on the  current library  list.  The  current
                 library  is  also  considered to  be  part  of  *LIBL.
                 QTEMP  is  bypassed if  *LIBL is  requested.   Product
                 libraries are not considered.

                 The special  value *USRLIBL  may be  used to  describe
                 all user libraries  on the current library list.   The
                 current  library  is also  considered  to  be part  of
                 *USRLIBL.      QTEMP  is   bypassed  if   *USRLIBL  is
                 requested.  Product libraries are not considered.

                 The  special value  *ALL  may  be  used  to  mean  all
                 libraries  (except   QTEMP).    You   must  have  *USE
                 authority  to  the  TAACVTLIBD  authorization list  to
                 use *ALL.

                 The special  value *ALLUSR  may be  used  to mean  all
                 user libraries.   These  are the same  libraries saved
                 by  SAVLIB LIB(*ALLUSR).   For a  full definition, see
                 the SAVLIB prompt.   You must  have *USE authority  to
                 the TAACVTLIBD authorization list to use *ALLUSR.

                 The special  value *ALLUSR2  may be  used to mean  all
                 normal  user libraries.   This includes  all libraries
                 that  do not  begin with  the letter  Q plus  the QGPL
                 library  and excludes  the  S/36  libraries  #LIBRARY,
                 #CGULIB,    #COBLIB,   #DFULIB,    #RPGLIB,   #SDALIB,
                 #SEULIB,  and #DSULIB.   You must  have *USE authority
                 to  the   TAACVTLIBD   authorization   list   to   use
                 *ALLUSR2.

                 The special  value *ALLNONQ  may be  used to mean  all
                 libraries  that  begin with  a  letter  other than  Q.
                 You  must  have  *USE  authority  to  the   TAACVTLIBD
                 authorization list to use *ALLNONQ.

                 The special value  *IBM may be  used to mean  the same
                 libraries  saved  by SAVLIB  LIB(*IBM).    For a  full
                 definition,  see  the SAVLIB  prompt.   You  must have
                 *USE authority  to the  TAACVTLIBD authorization  list
                 to use *IBM.

   OBJTYPE       The object type  to be accessed.  The  default is *ALL
                 meaning  all data base file object  types.  *PF or *LF
                 may be specified.   Type  *PF also  includes the  type
                 TB and  type *LF  also includes the  type VW  found in
                 the  QADBXREF file which  are SQL  type created files.

   FILETYPE      The file type  to be  accessed.  The  default is  *ALL
                 meaning all data  base file types.   *DTA or  *SRC may
                 be specified.

   FILE          The name  or generic name of the  file to be accessed.
                 The default is *ALL meaning all file names.

   OMITLIBS      A  list  of up  to  300 libraries  or  generic library
                 names to be omitted.

                 The  omit  function  takes  precedence  over  the  LIB
                 parameter.       If    you   specify    LIB(ABC)   and
                 OMITLIBS(AB*),  the  ABC  library  files  will not  be
                 output.

   OUTLIB        The  library  in  which  the  file  LIBDBFP   will  be
                 placed.   The default is *LIBL.   If the  LIBDBFP file
                 does not  already exist, a library  must be specified.

   OUTMBR        The member of  the LIBDBFP file  to be used.   If  the
                 member does not  exist, it is  added.  The  default is
                 LIBDBFP.

   REPLACE       A  *YES/*NO value  for  whether the  member  should be
                 cleared  before writing records into  it.  The default
                 is *YES.

File format
-----------

The file name that is output is LIBDBFP

The model file used is TAADBHCP with a format name of QDBXREF.

To see the field names used:

       DSPFMT    TAADBHCP

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

The user must  be authorized to all  libraries specified and the  files
within  the  libraries.   Program  adoption  is  not valid  to  acquire
authority.

If  a library value  of *ALL,  *ALLNONQ, *ALLUSR, *ALLUSR2,  or *IBM is
specified, the user must have *ALLOBJ authority.

Security
--------

The CL program  adopts the  profile of  QSECOFR.  This  is required  as
the QADBXREF file is not available to the public.

The user must be authorized to:

  **   Any specified libraries and the files within the libraries or

  **   The  TAACVTLIBD authorization  list (*USE  authority).   Program
       adoption is not considered when checking authority.

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

The following TAA Tools must be on your system:

     CHKALLOBJ    Check all object authority
     CHKIBMLIB    Check IBM library
     EDTVAR       Edit variable
     EXTLST       Extract list
     RPGSTSDS     RPG Status Data Structure
     UNADOPT      Unadopt

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

None, the tool is ready to use.

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

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

   CVTLIBDBF     *CMD                   TAADBHC       QATTCMD
   TAADBHCC      *PGM       CLP         TAADBHCC      QATTCL
   TAADBHCC2     *PGM       CLP         TAADBHCC2     QATTCL
   TAADBHCR      *PGM       RPG         TAADBHCR      QATTRPG
   TAADBHCP      *FILE      PF          TAADBHCP      QATTDDS
   TAADBHCQ      *FILE      PF          TAADBHCP      QATTDDS
   TAADBHCT      *FILE      PF          TAADBHCT      QATTDDS

The   CVTLIBDBF  data   area  exists   in  TAASECURE   for  translation
requirements.

File TAADBHCQ is a duplicate of TAADBHCP with keys.

File TAADBHCT is a  duplicate of TAADBHCP without  keys and is used  by
CPYF to QTEMP to avoid problems with QADBXREF file.
					

Added to TAA Productivity tools May 1, 1996


Home Page Up to Top