The Print Non-Observable Programs command prints a listing of the
programs that have had their observability removed. A library or all
user libraries may be named.
A typical command would be:
PRTNONOBS is a slow running command and should be submitted to batch.
Checking for non-observable programs is of value to do periodically
to assist you in determining if you still have the source to be able
to re-create the program objects if needed.
If a program is found which in non-observable, the source member,
library, and file are printed along with a status field for whether
the member or file still exists.
If you remove your source members, but retain the source in a Source
Archive (TAA Tool SRCARC), a parameter exists to name the archive
library. If the source member does not exist in the source file, the
archive will be checked.
The TAATOOL, TAASECURE, and TAAUPD libraries are implicitly bypassed
as they are created with non-observable programs. A parameter exists
to allow you to name specific libraries that may also be bypassed if
you know they contain non-observable programs.
DSPOBJD is used to create an outfile and an API (QCLRPGMI) is used to
retrieve the program information.
If *ALLUSR is requested, the user must have *ALLOBJ authority.
No checking is done by the tool for a specific library or *USRLIBL.
Consequently, the system security rules apply:
** If the user is not authorized to a library, the command will
** If the user is authorized to the library, but not to a program
within the library, the program is bypassed when the outfile
is created. Therefore, it will not be tested.
Command parameters *CMD
LIB The library name to search. The special values
*CURLIB, *USRLIBL, or *ALLUSR may be specified. If
*ALLUSR is specified, the same rules are followed as
per a SAVLIB LIB(*ALLUSR). Therefore, if you have
programs in libraries that start with Q, you should
specifically name them.
OMITLIBS Up to 40 library names that may be omitted. Use
this parameter if you know you have certain
libraries that contain non-observable programs and
you either have the source separately or it is a
package where only object is shipped.
The default is *NONE. You may only specify a list
of libraries if you use *USRLIBL or *ALLUSR.
SRCARCLIB The Source Archive Library name if the TAA Tool
SRCARC is used to archive the source. The default
If the source member (or file) does not exist based
on the information stored with the object and an
archive library is specified, the member information
is accessed from the source archive. If it exists,
a unique note is printed in the source status field.
The following TAA Tools must be on your system:
ALCTMPMBR Allocate temporary member
EXTLST Extract list
RPGSTSDS RPG Status Data Structure
RTVPGMA Retrieve program attributes
RTVSYSVAL3 Retrieve system value 3
SNDCOMPMSG Send completion message
SNDESCMSG Send escape message
SNDSTSMSG Send status message
SRCARC Source archive
None, the tool is ready to use.
Objects used by the tool
Object Type Attribute Src member Src file
------ ---- --------- ---------- ----------
PRTNONOBS *CMD TAAPGML QATTCMD
TAAPGMLC *PGM CLP TAAPGMLC QATTCL
TAAPGMLC2 *PGM CLP TAAPGMLC2 QATTCL
TAAPGMLC3 *PGM CLP TAAPGMLC3 QATTCL
TAAPGMLR *PGM RPG TAAPGMLR QATTRPG