Analyze Object Conversion (ANZOBJCVN)
Where allowed to run: All environments (*ALL) Threadsafe: No |
Parameters Examples Error messages |
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:
- Programs (original program model (OPM) and Integrated Language Environment (ILE))
- Service programs
- Modules
- SQL packages
The following types of objects in directories are analyzed and reported by this command:
- Stream files with attached Java programs that were optimized to run in the i5/OS operating system. Only stream files in the "root" (/), QOpenSys and user-defined file systems are analyzed.
- Names of integrated file system objects in the "root" (/) file system as well as user-defined file systems created with option CASE(*MONO).
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:
- Object name
- Object type
- System level (the release of the operating system used when this user object was created).
- Creation data (indicates if an object has all the required data to be converted to the new release of the operating system).
- Digitally signed (indicates if an object has a digital signature or not. Program object conversion will lose any digital signatures associated with the object).
- Profiling (indicates if an object has profiling data or not. If an object has profiling data and its encapsulated profiling data was removed, this program will lose its profiling data during program object conversion).
- State (shows the current state of a user object. Objects with a current state of *SYSTEM or *INHERIT will change to *USER during program object conversion).
- Conversion time estimate (shows the estimated conversion time for the object. The estimates are calculated in seconds. If the object cannot be converted, the estimated time is 0).
Note: All the references to conversion time in the Object Summary and Object Detail reports do not include time for case mapping conversions because it is done automatically by the operating system.
- The object name contains at least one character which is affected by new Unicode characters and casing rules in the target release. This object could potentially be renamed in the target release when the automatic conversion of the directories is performed for the new Unicode characters and casing rules.
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:
- You must have all object (*ALLOBJ) special authority to run this command.
- This command, especially the *COLLECT stage, can be very long running. For this reason, it is suggested that this command be run in a batch job.
- Any primary or secondary independent ASP (ASPs 33-255) referenced by this command must be varied on and have a status of 'Available' before running this command.
- Any user-defined file systems referenced by this command must be mounted before running this command.
- This command only can be run in two ways:
- Having only one active job with ANZOBJCVN working with libraries and directories at the same time.
- Having two active jobs running ANZOBJCVN at the same time: one job running ANZOBJCVN only for libraries and the other running ANZOBJCVN only for directories.
- If the QUSRSYS library is deleted after information is collected using ANZOBJCVN then the information will be lost.
Top |
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 |
Top |
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.
Top |
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.
Top |
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 QGPL38 QSYS2 QUSRINFSKR QWQCENT QMGTC QSYS2xxxxx QUSRNOTES QWQREPOS QMGTC2 QS36F QUSROND QMPGDATA QUSER38 QUSRPOSGS QMQMDATA QUSRADSM QUSRPOSSA QMQMPROC QUSRBRM QUSRPYMSVR QPFRDATA QUSRDIRCF QUSRRDARS QRCL QUSRDIRCL QUSRSYS
- 'xxxxx' is the number of a primary auxiliary storage pool (ASP).
- 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.
Top |
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.
Top |
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.
Top |
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.
Top |
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:
- Adding, removing, or renaming object links
- Mounting or unmounting file systems
- Updating the effective root directory for the process calling the command
- Updating the contents of a symbolic link
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.
Top |
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.
Top |
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.
Top |
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.
Top |