The Find Object Member command attempts to match the source member
name used to create an object with a source member in one or more
source files. This is designed for the case where the source has
been moved or duplicates exist for the same member name. One or more
objects may be specified with one or more libraries checked for where
the source may exist.
An outfile is optional. The file name is always OBJMBRP in a user
specified library. The model file is TAAOBMDP with a format name of
OBJMBRR.
If a match occurs on the name (the source member name used to create
the object matches a source member name), an output line occurs and
an indication of whether the last change date/time of the source used
to create the object matches the last change date/time of the source
member found.
You must have *ALLOBJ special authority to use FNDOBJMBR.
A typical command would be:
FNDOBJMBR OBJ(ABC) SRCLIB(*ALL)
Assuming ABC is a *PGM object, the source member name that was used
to create the object would be searched for in all source files on the
system. If a member of the same name was found, the last change
date/time of the member used for the create of the object would be
compared to the last change date of the the source members found. A
listing would be produced of the object and any source members found
that match the name. Note that the source type is not included so
that any member of the same name will be listed. If the same
date/time was found, the source member would be flagged. Flags also
occur if no members match or no source exists for the object.
A single object, generic object names, or all objects in a library
may be checked. The libraries containing the source files to be
searched may be specified and an omit list described. For example,
FNDOBJMBR OBJ(LIB1/*ALL) SRCLIB(PROD*)
OMITLIBS(PROD1 PROD2)
All source files in libraries beginning with PROD except for PROD1
and PROD2 would be checked for the source member used to create each
object found in LIB1.
When *ALL or generic objects are requested, the order of the output
will be the same as when DSPLIB is used. For example, *PGM objects
appear before *FILE objects.
*SRVPGM objects and multi-module *PGM objects are flagged and are not
checked.
Outfile
-------
An outfile is optional. The file name is always OBJMBRP in a user
specified library. The model file is TAAOBMDP with a format name of
OBJMBRR.
The outfile will contain the same information as exists on the
listing plus some additional information.
There are 3 types of records output which can be determined by the
FORCDT (record type) field:
** *OBJECT - This contains the same information as the column
heading for Typ = Obj.
** *MEMBER - This contains the same information as the column
heading for Typ = Mbr.
** *NOMATCH - This contains the object information when 1) No
source member name exists that matches the source member name
described in the object or 2) No source member with the same
name has the same last change date/time as that used to create
the object.
The object information such as the name, create date, source member
information used for the create appears in every record type. The
source information from a source member only appears in a *MEMBER
record.
Unlike the listing, there are separate fields for the object source
information and the source member information. For example, the
*OBJECT record uses the field FOOBSM for the source member name. The
*MEMBER record uses the field FOMBSM for the member name. The source
type is also included in the *MEMBER record type.
The Flag field on the listing is replaced with the FOCOMP (comparison
result) field. It will be blank or contain the values *MATCH,
*NOMATCH, *NOSRC, *MULTMOD, or *SRVPGM which correspond to the %n
values on the listing.
Note that if a record type of *NOMATCH occurs, the FOCOMP field will
also contain *NOMATCH.
FNDOBJMBR escape messages you can monitor for
---------------------------------------------
None. Escape messages from based on functions will be re-sent.
FNDOBJMBR Command parameters *CMD
----------------------------
OBJ The qualified name of the object to be checked. A
specific name, a generic name, or *ALL may be used.
If *ALL is used, a specific library must be named.
The library value defaults to *LIBL. A specific
library or *CURLIB may be used.
SRCLIB A list of up to 300 library or generic library names
to search for source files in. The special value
*ALL may be used to search for all source files on
the system.
*LIBL, *USRLIBL, *ALLUSR, *ALLUSR2, *ALLNONQ, or
*IBM may also be specified. For an understanding of
these values, see the CVTLIBDBF command.
OMITLIBS A list of up to 300 library or generic library names
to be omitted from the SRCLIB parameter. This
allows the use of SRCLIB(*ALL) or a generic name
with some exceptions. The default is *NONE.
No check occurs to determine if a library being
omitted is specified in the SRCLIB parameter.
SRCFILE The name of the source file to be checked. *ALL is
the default. A specific name may be entered.
OBJTYPE The object type to be checked. This refers to the
objects named in the OBJ parameter.
OBJTYPE *ALL is the default meaning that objects of type
*PGM, *MODULE, *SRVPGM, *FILE, and *CMD are checked.
One or more of the list supported by *ALL may be
checked for.
OUTPUT How to output the results. * is the default to
display the spooled file if the command is entered
interactively. The spooled file is deleted after it
is displayed.
If the command is entered in batch or *PRINT is
specified, the spooled file is output and retained.
OUTLIB The library in which the OUTMBRP file will be
placed. The default is *NONE meaning no out file is
created.
A specific library or *LIBL may be specified to
create an outfile with one record for source member
that was found as a match on the name. If *LIBL is
specified, the OUTMBRP file must be found on the
library list.
The model file used is TAAOBMDP with a format name
of OBJMBRR.
OUTMBR The member of the OUTMBRP file to be used. If the
member does not exist, it is added. The default is
OUTMBRP.
REPLACE A *YES/*NO value for whether the member should be
cleared before writing records into it. The default
is *YES.
*NO may be specified to add records to existing
data.
Restrictions
------------
You must have *ALLOBJ authority to use FNDOBJMBR.
*SRVPGM objects and multi-module *PGM objects are flagged and are not
checked.
Prerequisites
-------------
The following TAA Tools must be on your system:
CHKALLOBJ Check *ALLOBJ special authority
CVTTIM Convert time
EDTVAR Edit variable
EXTLST2 Extract list 2
RTVDAT Retrieve date
RTVILEMODA Retrieve ILE module attributes
RTVILEPGMA Retrieve ILE program attributes
RTVSYSVAL3 Retrieve system value 3
SNDCOMPMSG Send completion message
SNDESCINF Send escape information
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
------ ---- --------- ---------- ----------
FNDOBJMBR *CMD TAAOBMD QATTCMD
TAAOBMDC *PGM CLP TAAOBMDC QATTCL
TAAOBMDC2 *PGM CLP TAAOBMDC2 QATTCL
TAAOBMDR *PGM RPG TAAOBMDR QATTRPG
TAAOBMDP *FILE PF TAAOBMDP QATTDDS
|