Analyze Object Conversion (ANZOBJCVN)

The Analyze Object Conversion (ANZOBJCVN) command collects or reports information for user-created objects on the system. It can be used to plan the conversion of user objects to a new release of i5/OS operating system.

The following types of objects in libraries are analyzed and reported by this command:

The following types of objects in directories are analyzed and reported by this command:

In addition, this command will determine the total number of spooled files on each auxiliary storage pool (ASP) that need to be converted and the estimated time to perform this conversion. This collection can be turned on or off with Check spooled files (SPLFILE) parameter.

The following information is collected or reported for each object:

Note: In most cases, the objects analyzed by ANZOBJCVN can be converted by Start Object Conversion (STROBJCVN) command or on first touch of the system after a software upgrade. However, STROBJCVN will not convert the directories to support the new Unicode characters and casing rules since this conversion is automatically done by the operating system. Also STROBJCVN will not convert spooled database members because this conversion is automatically done based on the existence of the QSPL/QSPLDFRCVN data area. The default is to convert spooled files during IPL for all the spooled files stored in the system auxiliary storage pool (ASP) and all basic user ASPs or during the vary on of an independent ASP for spooled files stored in a primary or secondary ASP if the QSPL/QSPLDFRCVN data area does not exist after ASP.

Restrictions:

Parameters

Keyword Description Choices Notes
OPTION Option *COLLECT, *REPORT Required, Positional 1
RPTTYPE Type of report Single values: *ALL
Other values (up to 4 repetitions): *LIBSUM, *LIBDTL, *OBJSUM, *OBJDTL
Optional
LIB Libraries to analyze Generic name, name, *ALLUSR, *NONE Optional
ASPDEV ASP device Name, *, *ALLAVL, *CURASPGRP, *SYSBAS Optional
SPLFILE Check spooled files *YES, *NO Optional
OBJ Object Path name, *NONE Optional
SUBTREE Directory subtree *ALL, *NONE Optional
TGTRLS Target release Character value, V6R1M0 Optional

Option (OPTION)

Specifies whether you want to collect information or generate reports using the collected information.

This is a required parameter.

*COLLECT
Information for objects in the specified libraries and directories is collected for analysis. If Check Spooled File (SPLFILE) is set to *YES, spool database members info will be collected when collecting libraries.
*REPORT
Collected object information is analyzed and reports are generated for objects in the specified libraries and directories as well as spool files.

Type of report (RPTTYPE)

Specifies the types of object reports to generate. The reports are written to the printer file QPIZARPT.

If *COLLECT is specified for the Option (OPTION) parameter, specification of this parameter is ignored.

Single values

*ALL
All summarized and detail object reports are generated for all objects in the libraries and directories specified in the previous collection. If Check Spooled File (SPLFILE) was set to *YES during the previous collection, spool database members information will be generated in the Library Summary report.

Other values (up to 4 repetitions)

*LIBSUM
A summary report is generated for each library specified in the previous collection. If SPLFILE(*YES) was specified, spool database members information will be generated in this report.
*LIBDTL
A detailed report is generated for each library specified in the previous collection.
*OBJSUM
A summary report is generated for integrated file system objects specified in the previous collection.
*OBJDTL
A detailed report is generated for integrated file system objects specified in the previous collection.

Libraries to analyze (LIB)

Specifies the libraries to be analyzed.

If *REPORT is specified for the Option (OPTION) parameter, specification of this parameter is ignored.

*ALLUSR
All user libraries are analyzed. All libraries with names that do not begin with the letter Q are analyzed except for the following:

#CGULIB     #DSULIB     #SEULIB
#COBLIB     #RPGLIB
#DFULIB     #SDALIB

Although the following Qxxx libraries are provided by IBM, they typically contain user data that changes frequently. Therefore, these libraries are considered user libraries and are also analyzed:

QDSNX       QRCLxxxxx   QUSRDIRDB   QUSRVI
QGPL        QSRVAGT     QUSRIJS     QUSRVxRxMx
Start of changeQGPL38      QSYS2       QUSRINFSKR  QWQCENT
QMGTC       QSYS2xxxxx  QUSRNOTES   QWQREPOSEnd of change
QMGTC2      QS36F       QUSROND
QMPGDATA    QUSER38     QUSRPOSGS
QMQMDATA    QUSRADSM    QUSRPOSSA
QMQMPROC    QUSRBRM     QUSRPYMSVR
QPFRDATA    QUSRDIRCF   QUSRRDARS
QRCL        QUSRDIRCL   QUSRSYS

  1. 'xxxxx' is the number of a primary auxiliary storage pool (ASP).
  2. A different library name, in the format QUSRVxRxMx, can be created by the user for each previous release supported by IBM to contain any user commands to be compiled in a CL program for the previous release. For the QUSRVxRxMx user library, VxRxMx is the version, release, and modification level of a previous release that IBM continues to support.
*NONE
No user library is analyzed. You can specify LIB(*NONE) if you only want to analyze objects that are located in directories.
generic-name
Specify the generic name of the libraries to be analyzed. A generic name is a character string that contains one or more characters followed by an asterisk (*). If a generic name is specified, all libraries that have names with the same prefix as the generic name are analyzed.
name
Specifies the name of the user library whose objects are to be analyzed.

ASP device (ASPDEV)

Specifies the auxiliary storage pool (ASP) device where storage is allocated for the library and spooled files to be analyzed. If the library is in an ASP that is not part of the thread's library name space, this parameter must be specified to ensure the correct library is analyzed.

Note: This parameter does not apply for the objects specified in the OBJ parameter since the independent ASP name is part of the path name of the object.

If *REPORT is specified for the Option (OPTION) parameter, specification of this parameter is ignored.

*
The ASPs that are currently part of the thread's library name space will be searched to find the library. This includes the system ASP (ASP 1), all defined basic user ASPs (ASPs 2-32), and, if the thread has an ASP group, the primary and secondary ASPs in the thread's ASP group.
*ALLAVL
All available ASPs will be searched. This includes the system ASP (ASP 1), all defined basic user ASPs (ASPs 2-32), and all available primary and secondary ASPs (ASPs 33-255 with a status of 'Available'). The ASP groups are searched in alphabetical order by the primary ASP. The system ASP and all defined basic user ASPs are searched after the ASP groups. ASPs and libraries to which the user is not authorized are bypassed and no authority error messages are sent.
*CURASPGRP
If the thread has an ASP group, the primary and secondary ASPs in the thread's ASP group will be searched to find the library. The system ASP (ASP 1) and defined basic user ASPs (ASPs 2-32) will not be searched. If no ASP group is associated with the thread an error will be issued.
*SYSBAS
The system ASP (ASP 1) and all defined basic user ASPs (ASPs 2-32) will be searched to find the library. No primary or secondary ASPs will be searched, even if the thread has an ASP group.
name

Specify the name of the primary or secondary ASP device to be searched. The primary or secondary ASP must have been activated (by varying on the ASP device) and have a status of 'Available'. The system ASP (ASP 1) and defined basic user ASPs (ASPs 2-32) will not be searched.

Check spooled files (SPLFILE)

Specifies whether to analyze the total number of spooled files on each auxiliary storage pool (ASP) that need to be converted and the estimated time to perform this conversion.

Additionally, one cannot specify LIB(*NONE) if SPLFILE(*YES) is specified.

*YES
Spool files on each auxiliary storage pool (ASP) are analyzed.
*NO
Spool files on each auxiliary storage pool (ASP) are not analyzed.

Note: The ASP device selected (ASPDEV) affects the collection of spooled files.

Object (OBJ)

Specifies the path name of the object, or a pattern to match the name, of the objects to be analyzed.

If *REPORT is specified for the Option (OPTION) parameter, specification of this parameter is ignored.

The object path name can be either a simple name or a name that is qualified with the name of the directory in which the object is located. A pattern can be specified in the last part of the path name. An asterisk (*) matches any number of characters and a question mark (?) matches a single character. If the path name is qualified or contains a pattern, it must be enclosed in apostrophes.

For more information on specifying path names, refer to "Object naming rules" in the CL topic collection in the Programming category in the IBM i Information Center at http://www.ibm.com/systems/i/infocenter/.

Note: If the last component in the path name is a symbolic link, the symbolic link object is analyzed, but the object pointed to by the symbolic link is not analyzed.

*NONE
No object is analyzed.
path-name
Specify the path name of the object to be analyzed.

Directory subtree (SUBTREE)

Specifies whether or not to analyze the objects within the subtree if the object specified by the Object (OBJ) parameter is a directory.

If *REPORT is specified for the Option (OPTION) parameter, specification of this parameter is ignored.

*ALL
The objects specified by OBJ will be analyzed, if appropriate. If the object is a directory, its contents as well as the contents of all of its subdirectories will be analyzed.

Note: Pattern matching from the OBJ parameter only applies to the first level objects. If the first level object is a directory, the pattern matching does not apply to its contents or the contents of its subdirectories.

*NONE
The objects specified by OBJ will be analyzed, if appropriate. If the object is a directory, it is analyzed if appropriate, but its contents are not analyzed.

Once the command has begun processing a specific directory subtree, the objects which will be found and processed may be affected by operations that update the organization of objects within the specified directory tree. This includes, but is not limited to, the following:

In order to process the directory subtree, the system code may increase the process-scoped maximum number of file descriptors that can be opened during processing. This is done so that the command is not likely to fail due to a lack of descriptors. This process-scoped maximum value is not reset when the command completes.

Target release (TGTRLS)

Specifies the release to which the data and programs will be migrated. This information is used to determine the specific analysis to be performed. This is dependent on the release where the command is being run.

If *REPORT is specified for the Option (OPTION) parameter, specification of this parameter is ignored.

VxRyMz
Specifies the release to which data and programs will be migrated.

Examples

Example 1: Collect Library Information

ANZOBJCVN   OPTION(*COLLECT)

This command will collect object conversion information for all objects in all user libraries in the system auxiliary storage pool (ASP), all configured basic user ASPs, and all independent ASPs that are varied on and have a status of 'Available'. If the library is in an ASP that is not part of the thread's library name space, parameter ASPDEV must be specified to ensure the desired library is analyzed. No information is collected for directories.

Example 2: Generate Library Information Reports

ANZOBJCVN   OPTION(*REPORT) RPTTYPE(*LIBSUM *LIBDTL)

This command will report previously collected library information. The library summary and library detail reports will be generated.

Example 3: Collect Object Information from Directories

ANZOBJCVN   OPTION(*COLLECT)  LIB(*NONE)
            OBJ('/MYDIR/MYDOCS')  SUBTREE(*ALL)

This command will collect object conversion information for the /MYDIR/MYDOCS directory, its contents as well as the contents of all of its subdirectories will be analyzed. No information is collected for objects in libraries.

Example 4: Generate Object Detailed Report

ANZOBJCVN   OPTION(*REPORT)  RPTTYPE(*OBJDTL)

This command will report previously collected object information for directories. The object details report will be generated.

Example 5: Collect Library Information and Directory Information

ANZOBJCVN OPTION(*COLLECT) LIB(MYLIB) SPLFILE(*NO)
          OBJ('/MYDIR') SUBTREE(*ALL)

This command will collect object conversion information for the MYLIB library and for /MYDIR directory, its contents as well as the contents of all of its subdirectories will be analyzed. No spool database members information will be collected.

Error messages

*ESCAPE Messages

CPF218C
&1 not a primary or secondary ASP.
CPF222E
&1 special authority is required.
CPF9810
Library &1 not found.
CPF9833
*CURASPGRP or *ASPGRPPRI specified and thread has no ASP group.
CPFB0DC
ANZOBJCVN OPTION (*REPORT) was not successful.
CPFB0DE
Not all eligible objects were analyzed.
CPFB0DF
ANZOBJCVN found locked objects in library QUSRSYS.