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.
|