Inventory reports

An inventory report shows important compiler information of selected programs. COBOL Upgrade Advisor for z/OS® provides two inventory reports, generated by running one of two inventory scans; the load library scan and application scan. The load library scan is a static scan that generates the load library report, and the application scan is a dynamic scan that generates the application report.

Both inventory reports have a report overview, inventory list, and program pages.

Which inventory scan should I use?

Load library report Application report

The load library scan is a static scan that looks at all the programs in selected load modules, showing your full COBOL inventory across one or more load libraries. Use this scan when planning and scoping the COBOL upgrade project across the COBOL inventory, and when you want to upgrade one or more load libraries at once.

The application scan is a dynamic scan that looks at a specific COBOL batch application. It shows all of the programs involved in the application, including dynamically called COBOL programs that might also need to be updated. Use this scan when you know which specific application you want to upgrade and want to learn how to upgrade the chosen application. This scan can verify whether Language Environment is used for the application.

Depending on your needs, you may want to run both scans, or just one.

To find workflows or use cases on how the different inventory scans can be used, refer to Example workflows.

Running an inventory scan

Load library report Application report

There are a few things that need to be selected to run an inventory scan.
  • Select your scan: A choice between the static load library scan and the dynamic application scan
  • Select upgrade target: The version of IBM Enterprise COBOL for z/OS you want to upgrade your programs to.

    For a list of supported versions to upgrade to, refer to the Upgrade to: column in Which IBM COBOL products does CUAZ support upgrade for?

  • Select compiler versions to exclude from upgrade: This setting tells CUAZ what programs don't need to be upgraded. Use this setting to tell CUAZ what level of programs are considered to be already upgraded. This is helpful if you have written programs in later versions of the Enterprise COBOL for z/OS compiler, like 6.3 or 6.4.

    Any programs on the selected compiler version and later are excluded from the upgrade project. If unspecified, the compiler version set as the upgrade target is used as the default exclusion setting.

Once a scan is selected, other input fields differ depending on the type of inventory scan selected. For more information on input fields and requirements for the scans, refer to Running a load library scan or Running an application scan.

Attention: Depending on how big your upgrade project is, and how many programs are included, the scan may take a longer period to run. Larger scan projects should be scheduled accordingly for available machine time.

Report overview tab

Load library report Application report

Once an inventory scan (load library or application scan) is complete, the inventory report displays the report overview tab.

Load library or Application overview

This section has a donut chart that shows the percentage of programs on a major version of a compiler.

When you hover over a section of the donut chart, it shows the:
  • Compiler version: The major version of the compiler this section of the donut chart represents
  • Programs: The number of programs on the selected compiler version
    Note: This number may be different from the sum of members when running a load library scan. Refer to Select load libraries for more information.
  • Percentage of total programs: The percentage of programs that are on the selected compiler version in the load library or application
This section also shows you separately what percentage of the upgrade is complete, determined by the excluded versions set when choosing the scan.
Note: The upgrade completion percentage is based on a specific compiler version, not a major version.

For example, if you have set the excluded compiler versions to Enterprise COBOL 5.2 and later, you would see an overall percentage of programs in the donut chart that run on Enterprise COBOL 5, including versions 5.1 and 5.2. The upgrade completion statistic would be a combined percentage of any programs running on Enterprise COBOL 5.2 or later, including Enterprise COBOL 6.1, 6.2, 6.3, and 6.4.

Compiler version preview

The compiler version preview table shows what specific version is used for the scanned programs. It outlines each version that has been detected in the load library or application, and shows the number of programs using that compiler version.

About critical upgrade prerequisites

This section highlights high-priority, larger tasks that need to be completed for affected programs before proceeding with the upgrade.

COBOL Upgrade Advisor for z/OS® checks for the following upgrade prerequisites:
  • Language Environment upgrade: This is flagged when Language Environment is not detected for this program. COBOL compilers before Enterprise COBOL for z/OS use different runtime libraries. Find instructions on how to complete this upgrade at Overview of the Enterprise COBOL for z/OS compilers and z/OS Language Environment runtime.
  • Interoperability: This is flagged when CUAZ detects interoperability issues between earlier versions of COBOL compilers and Enterprise COBOL 5 or 6. There are some programs that cannot interoperate with Enterprise COBOL 5 or 6, and may need recompiling. Find more details at Interoperability with older levels of IBM COBOL programs.
  • Older language level syntax: This is flagged when CUAZ detects the use of older language standards, like COBOL Standard 68, COBOL Standard 74, or with the CMPR2 option. Programs flagged with this prerequisite need to be updated to COBOL Standard 85. Use the Smart code converter to automatically convert programs with 68/74 COBOL syntax to 85 COBOL standard. For information on how to change the language standards for each compiler version, see Upgrading programs.

Program preview

The program preview table shows a preview of some of the programs detected.

It highlights:
  • Program name: The name of the program
  • Compiler version: The specific version of the COBOL compiler that was used
  • Module name: The name of the load module that the program is part of
  • Prerequisite: If the program has detected missing prerequisites, icon(s) for the specific prerequisite(s) that needs to be completed for the program displays here

Inventory tab

Load library report Application report

This tab contains a program list table of all the programs included in the scan. This table can be exported as a CSV file that can be shared with team members or used to track upgrade progress at any time.

The Program list table shows:
  • Program name: The name of the program
  • Compiler version: The specific version of the COBOL compiler that was used
  • Prerequisite: If the program has detected missing prerequisites, icon(s) for the specific prerequisite(s) that needs to be completed for the program displays here
  • Date of compilation: The date the program was last compiled
  • Time of compilation: The time the program was last compiled
  • Module name: The name of the load module that the program is part of
  • Complexity: The CUAZ determined complexity to upgrade the program
    • High: This program has prerequisite tasks and may require other source code changes
    • Medium: Compiler option changes for this program are marked with Consider change, and require some consideration before changes are made
    • Low: Compiler options changes for this program are straightforward, add, change, or remove options directly
    • N/A: This program is already upgraded to the desired version

Program page

Load library report Application report

The program page is accessed through selecting a program from the Inventory tab Program list.

Program information

This section has an overview of program information:
  • Language: The language the program is written in
  • Compiler version: The specific version of the COBOL compiler that was used
  • Date of compilation: The date the program was last compiled
  • Time of compilation: The time the program was last compiled
  • CPU: The CPU percentage of total program samples against the total number of program samples in the application
    Note: This metric is only available in the application scan.

  • Module name: The name of the load module that the program is part of
  • Complexity: The CUAZ determined complexity of upgrading the program
    • High: This program has prerequisite tasks and may require other source code changes
    • Medium: Compiler option changes for this program are marked with Consider change, and require some consideration before changes are made
    • Low: Compiler options changes for this program are straightforward, and can be added, removed, or left alone without additional consideration
    • N/A: This program is already upgraded to the desired version

Critical required upgrade prerequisites

If your program has prerequisite tasks that need to be completed, applicable tasks are listed in this section. Refer to About upgrade prerequisites to learn more about each prerequisite.

Compiler option recommendations

You can copy a list of selected compiler options to a clipboard to capture the Enterprise COBOL 6 compiler options of your choice. By default, the compiler options with the recommended action Add option are selected.

This table shows information about the compiler options that may need upgrading:
  • Current option: The compiler option used in the program
  • Option status: The status of the current option
    • New: This option is new to a more updated compiler version, and did not exist in the original program compiler version
    • Changed: This option has been changed from when it was used in the original program
    • Deprecated: The option in the original compiler version is no longer in use in later compiler versions
    • Unchanged: This option has not changed from the original compiler version to the later compiler versions
  • COBOL 6 option: The Enterprise COBOL 6 option with equivalent or similar function to the option used in the program
  • Recommended action: What CUAZ recommends to upgrade the option
    • Add option: Add this option to your program
    • Change option: Change the option or the option setting in your program
    • Remove option: Remove this option from your program
    • Consider change: Review the details of the change before deciding if action needs to be taken
    • No action: No change is needed
      Note: When a deprecated option is tagged with No action, the option can be safely ignored by the later compiler versions, and does not cause errors.
Find more information about the compiler option by selecting the arrow in the first column of the table to expand the drop down section:
  • Option explanation: An explanation of what the compiler option does
  • Considerations: Any additional information that may be important to making a decision about the action to take regarding a compiler option
  • Documentation: A documentation link to more information about the compiler option and settings

Compiler option groups tab

Load library report

This tab is available in the load library report and shows where the same compiler options settings have been used across compiler versions. Programs in your load library that use the same compiler option settings and compiler version are grouped together. The information in this tab can be exported as a JSON file that can be shared with team members.

Compiler option groups are available by compiler version. Select any of the compiler version tabs to view groupings. Each tab shows:
  • A dropdown list of all groupings for that compiler version
  • Group n compiler options: A list showing any compiler options that have been changed from the IBM® default
  • Programs: A table listing all the programs in the group and their compilation date
  • Compiler option recommendations: A table with upgrade recommendations for the programs in the group
    Note: This is the same table as the Compiler option recommendations found in the program page.

Save reports

Load library report Application report

After the scan completes, select Save report to save the report. You can save the reports to an existing project or create a new project. All details in the report including the data sets and programs are saved to the project. The reports and projects can be accessed from the Side Bar.