The Print Level Check command provides a comparison of the formats
stored within a program with the files to be accessed at open time.
This can help pre-determine any level check problems. A single
program, generic programs, or all programs in a library may be
checked. A spooled file is output.
A typical command would be:
PRTLVLCHK PGM(xxx/*ALL)
This would check all programs in the named library. By default, all
of the files to be checked against must exist in the same library.
If a different library or libraries may contain the files, the FILLIB
parameter must be specified with up to 10 libraries.
The spooled file should be checked for the total at the bottom of
'Non matched formats'. This is an indication of a problem. However,
if the file is LVLCHK(*NO) the program may still operate correctly.
Processing
----------
For each program specified, the system command DSPPGMREF is used to
determine the referenced objects. For each referenced file that
exists in one of the FILLIB libraries, the TAA tool CVTFMT is used to
determine the existing formats in the file.
The sequence of the libraries specified on the FILLIB parameter can
be important if the same named file exists in multiple libraries.
A comparison of the format ID found from DSPPGMREF is used to
determine if the formats match. This is the same check that will
occur when the file is opened by the program.
Exceptions
----------
There are several exceptions that will prevent a 100% check such as:
** A variable name may be used for the file or library name.
** An override command may exist that will direct the program to
open a file other than that specified in the program.
** The file may not exist in one of the specified FILLIB
libraries.
** The file may exist in QTEMP only at execution.
** DSPPGMREF also has some unique cases where a file may be
identified without a format, is unspecified as to how it is to
be processed (usually occurs if an OVRxxx command is specified
in a CL program), no file name exists, etc.
The spooled file will contain the results for each program and
referenced file/format. A status indication describes whether the
file is checked and two columns indicate a successful or unsuccessful
comparison. Totals on the last page may be used to help identify if
any known problems exist.
Command parameters *CMD
------------------
PGM The qualified name of the program to be compared. A
specific program, a generic set of programs, or the
special value *ALL may be used to check all programs
in a library. The library value defaults to *LIBL.
*CURLIB may also be used.
If a generic set of programs or all programs in a
library are to be compared, a specific library name
must be used.
FILLIB A list of up to 10 library names where the files
will exist that will be compared to. The default is
*PGM meaning the same library as specified on the
PGM parameter (if *LIBL is used with a single
program, the library of the program is determined).
The files must exist in the specified libraries to
be checked.
The sequence of the libraries specified determines
the order in which they will be searched. If the
same file exists in multiple libraries, the wrong
comparison may be made.
Restrictions
------------
See the previous comments.
Prerequisites
-------------
The following TAA Tools must be on your system:
CHKGENERC Check generic
CHKOBJ3 Check object 3
CVTFMT Convert format
EXTLST Extract list
EXTLST2 Extract list 2
RTVSYSVAL3 Retrieve system value 3
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
------ ---- --------- ---------- ----------
PRTLVLCHK *CMD TAAFILC QATTCMD
TAAFILCC *PGM CLP TAAFILCC QATTCL
TAAFILCC11 *PGM CLP TAAFILCC11 QATTCL
TAAFILCR *PGM RPG TAAFILCR QATTRPG
TAAFILCR2 *PGM RPG TAAFILCR2 QATTRPG
TAAFILCP *FILE PF TAAFILCP QATTDDS
|