The Compare System Objects tool is designed to assist in in
determining potential problems when dealing with multiple systems.
Because naming conflicts between objects may arise when using
multiple systems, the CMPSYSOBJ tool may be used to assist in
determining the conflicts.
Assume you have multiple systems and you want to understand the
potential naming conflicts. For example, if you have a library by
the name of LIBA on one system, you may want to ensure there are no
other LIBAs on your other systems. Other typical naming conflicts
may also occur between user profiles and authorization lists.
To use CMPSYSOBJ, you must first capture standard system objects that
exist on each of the systems.
You must have *ALLOBJ special authority to use CAPSYSOBJ. A typical
command you would run on each system is:
CAPSYSOBJ SYSOBJPLIB(xxx)
This will capture:
- Libraries
- User profiles
- Authorization lists
Any names beginning with Q and the S/36 # libraries would be
excluded. By default, any names beginning with TAA would also be
excluded (such as the TAATOOL library). All the captured names would
be placed in the SYSOBJP file in the named library.
You must then transfer the file to a central system where you want to
make the comparisons. For example, the transfer could be done using
Save/Restore or DDM.
You would then merge each file captured on a remote system to the
file on the central system such as:
MRGSYSOBJ FROMLIB(xxx) TOLIB(yyy)
The data in the SYSOBJP file found in the From library would be
merged into the SYSOBJP file in the To library.
When the central SYSOBJP file contains all of the data from the
remote systems, you are ready to make a comparison. A typical
command would be:
CMPSYSOBJ SYSOBJPLIB(xxx)
A spooled file would be output with one line for any conflicts found
(same name and type of object). For example, if the same library
exists on two or more systems, a line would be listed for each with
the duplicates flagged.
The default for CMPSYSOBJ is to compare objects for all systems found
in the SYSOBJP file. You may optionally compare the objects for two
named systems.
Capturing system objects
------------------------
CAPSYSOBJ will capture the object types of Libraries, User Profiles,
and Authorization lists.
Objects beginning with the letter Q and the S/36 # libraries are
implicitly bypassed.
By default, objects beginning with TAA are bypassed. For example,
the TAA Tools support several TAAxxx authorization lists. You may
have different authorizations to these authorization lists on the
central and remote systems. Since the authorization lists of the
central system will be used, you must ensure that security
considerations are properly handled on the central system.
Merging into the central SYSOBJP file
-------------------------------------
When the MRGSYSOBJ command runs, it first ensures that data exists in
the SYSOBJP file in the To library. If no data exists, it is
considered an error. You must begin the process by using CAPSYSOBJ
for the central system to the SYSOBJP file or use CPYF to the SYSOBJP
file in the To library.
When MRGSYSOBJ begins, it determines the system name of the first
record in the SYSOBJP library in the From library. When CAPSYSOBJ is
run, it creates a DSPOBJD outfile for the named object types. The
outfile is then converted to a simpler file definition containing
only the critical fields. The originating system name is retained.
When the system name in From file has been determined, any records
that already exist the SYSOBJP file in the To library for the same
system are deleted. The new records are then added. This allows a
'refresh' capability so that you may capture current information from
any system and merge it in as required.
Because of this technique, there are two important points to
consider:
** The SYSOBJP file in the From library may only contain data
from a single system.
** Each use of the MRGSYSOBJ command is a complete refresh for a
single system. All records for the system to be merged will
be removed from the SYSOBJP file in the To library.
During the merge processing, the SYSOBJP2 file is created in the To
library if it does not exist. The file will contain temporary data
and will be cleared at the end of processing. The file will remain
on your system.
Removing a system from the SYSOBJP file
---------------------------------------
You may remove all the records for a particular system in the SYSOBJP
file with the RMVSYSOBJ command. Assume you had merged in the
records from SYSTEMA and now want to remove all the records from
SYSTEMA. You would issue the command:
RMVSYSOBJ SYSTEM(SYSTEMA) SYSOBJPLIB(yyy)
All records for SYSTEMA would be removed from the SYSOBJP file in the
named library.
Security considerations
-----------------------
To ensure that all objects are considered, you must have *ALLOBJ
special authority to use CAPSYSOBJ.
The user of CAPSYSOBJ becomes the owner of the SYSOBJP file for a
specific library. The authorization to the file allows public *USE
authority. You may exclude the public if required.
The MRGSYSOBJ and RMVSYSOBJ commands require the proper authority to
the file to clear the SYSOBJP file.
The CMPSYSOBJ command is available for public use.
CAPSYSOBJ Command parameters *CMD
----------------------------
SYSOBJPLIB The library which will contain the SYSOBJP file. If
the file does not exist, it will be created. If the
file does exist, the data is cleared first and the
new data is written to the file.
The object types of *LIB, *USRPRF, and *AUTL will be
captured. Object names beginning with Q are
implicitly bypassed along with the S/36 # libraries.
BYPASSTAA A *YES/*NO parameter for whether object names
beginning with TAA should be bypassed. The default
is *YES which prevents objects such as the TAATOOL
library and TAAxxx authorization lists from being
included.
*NO may be specified to include TAA objects.
MRGSYSOBJ Command parameters *CMD
----------------------------
FROMLIB The library which contains the SYSOBJP file data to
be merged in. The file may only contain data from a
single system. Any records from the same system
name in the SYSOBJP file in the To library will be
removed first. The new records are then added.
TOLIB The library with the SYSOBJP file which will contain
the merged data. The member must contain some
records. The data in the file must come from a
CAPSYSOBJ command or be copied from a file created
by CAPSYSOBJ.
RMVSYSOBJ Command parameters *CMD
----------------------------
SYSTEM The name of the system who's records will be removed
from the SYSOBJP file.
SYSOBJPLIB The library containing the SYSOBJP file. The
default is *LIBL. *CURLIB may also be used.
CMPSYSOBJ Command parameters *CMD
----------------------------
SYSOBJPLIB The library containing the SYSOBJP file. The
default is *LIBL. *CURLIB may also be used.
SYSTEM1 The first system to be compared. The default is
*ALL. Using the default, all systems found in the
in the SYSOBJP file will be compared.
You may compare two systems (any other system names
will be ignored). If you name a system for SYSTEM1,
you must also name a system for SYSTEM2.
SYSTEM2 The second system to be compared. The default is
*ALL. See the explanation for the SYSTEM1
parameter.
Restrictions
------------
See the previous discussions.
Prerequisites
-------------
The following TAA Tools must be on your system:
CHKALLOBJ Check *ALLOBJ authority
CRTDUPPF Create duplicate physical file
EDTVAR Edit variable
RTVSYSVAL3 Retrieve system value 3
SNDCOMPMSG Send completion message
SNDESCMSG Send escape message
SNDSTSMSG Send status message
Implementation
--------------
You must capture the information from the central and remote systems
in order to make a comparison.
Objects used by the tool
------------------------
Object Type Attribute Src member Src file
------ ---- --------- ---------- ----------
CAPSYSOBJ *CMD TAASYSP QATTCMD
CMPSYSOBJ *CMD TAASYSP2 QATTCMD
MRGSYSOBJ *CMD TAASYSP3 QATTCMD
RMVSYSOBJ *CMD TAASYSP4 QATTCMD
TAASYSPC *PGM CLP TAASYSPC QATTCL
TAASYSPC2 *PGM CLP TAASYSPC2 QATTCL
TAASYSPC3 *PGM CLP TAASYSPC3 QATTCL
TAASYSPC4 *PGM CLP TAASYSPC4 QATTCL
TAASYSPR *PGM RPG TAASYSPR QATTRPG
TAASYSPR2 *PGM RPG TAASYSPR2 QATTRPG
TAASYSPR3 *PGM RPG TAASYSPR3 QATTRPG
TAASYSPP *FILE PF TAASYSPP QATTDDS
The SYSOBJP file is created from the TAASYSPP file in TAATOOL by the
CAPSYSOBJ command. The SYSOBJP2 file is created by the MRGSYSOBJ
command. The file is used to temporarily hold data during the merge
and will cleared at the successful completion of the command.
Structure
---------
CAPSYSOBJ Cmd
TAASYSPC CL pgm
TAASYSPR RPG Pgm
CMPSYSOBJ Cmd
TAASYSPC2 CL pgm
TAASYSPR2 RPG Pgm
MRGSYSOBJ Cmd
TAASYSPC3 CL pgm
TAASYSPR3 RPG Pgm
RMVSYSOBJ Cmd
TAASYSPC4 CL pgm
|