Verifying installation using the Installation Verification Program (IVP)

After you complete the SMP/E installation of ABO, use the ABO Installation Verification Program (IVP), BOZJIVP, to verify that ABO is installed correctly and is functional.

Note: The PTFs for APAR OA63070 on z/OS® 2.3, 2.4, and 2.5 are not currently checked by the IVP so it must be manually verified that they are installed on the systems where ABO is running.

Overview of BOZJIVP

The ABO Installation Verification Program (IVP), BOZJIVP, is located in the ABO sample library HLQ.SBOZJCL, where HLQ is the prefix used for the target libraries in your ABO SMP/E installation.

Run the IVP on any system on which you plan to use ABO and on any system where the optimized modules produced by ABO will be running.
Note: ABO can run on any hardware level supported by the minimum z/OS level but the ABO generated optimized modules can only run on z14 Models M01- M05, z14 ZR1, z15® Models T01 and T02, z16™ systems. See Target hardware levels for more information. Keep these minimum hardware requirements in mind when you examine the IVP results.

Using BOZJIVP

To proceed with the IVP process on the selected system, edit BOZJIVP according to the included JCL description, and then submit it.

This job contains the following steps:
  1. LKED1 - Link-edits the first COBOL program using as input the object BOZOBJ1 in the same sample library.
    Note: The BOZOBJ1 program was compiled using Enterprise COBOL for z/OS 4.2 with the OPT(STD) option in effect. The program source example, BOZSRC1, is also available in the same library for your convenience.
  2. GOBEFOR1 - Runs the original version of the first program.
  3. VERIFY1 - Verifies z/OS version eligibility to run ABO.
  4. OPTIMIZ1 - Optimizes the first COBOL program using ABO.
  5. VERIFY2 - Verifies IBM Z® server type eligibility to run ABO optimized modules.
  6. GOAFTER1 - Runs the optimized version of the first COBOL program.
  7. EXCEPT1 - Notifies about possible MACHMIG VEF specification in SYS1.IPLPARM(LOADxx). Runs if step GOAFTER1 condition code is S0C7 only.
    Note: The LOADxx member may be located on some systems in SYS1.PARMLIB instead of SYS1.IPLPARM
  8. POSTABND - Notifies about possible machine architecture level or LE PTF level conflict. Runs if step GOAFTER1 condition code is S0C1, S0C4, or S0C6 only.
  9. LKED2 - Link-edits the second COBOL program using as input the object BOZOBJ2 in the same sample library.
    Note: The BOZOBJ2 program was compiled using Enterprise COBOL for z/OS 5.1 with the default options. The program source example, BOZSRC2, is also available in the same library for your convenience.
  10. GOBEFOR2 - Runs the original version of the second program.
  11. OPTIMIZ2 - Optimizes the second program using ABO.
  12. GOAFTER2 - Runs the optimized version of the second COBOL program.
  13. EXCEPT2 - Notifies about possible Binder PTF level conflict. Runs if step GOAFTER2 condition code is U4094 only.
  14. REPORT - Reports the IVP results.

Results

You will receive a return code of 0 or 4 for each of the preceding steps when the IVP runs successfully. After the REPORT step completes, a report is available in the SYSTSRPT output file and in the JESMSGLG JOBLOG.

The following example shows a sample IVP report in the SYSTSRPT output file:

*** The original program start time is: 10:42:22.72     
                                                        
*** The original program end time is: 10:44:10.71       
                                                        
***                                                  ***
***            Optimization successful!              ***
***                                                  ***
                                                        
*** The optimized program start time is: 10:44:11.41    
                                                        
*** The optimized program end time is: 10:44:15.63      
                                                        
***                                                  ***
*** The elapsed time is reduced by 103.77 sec        ***
***                                                  ***
                                                        
***                                                  ***
***      Installation verification successful!       ***
***                                                  ***

The following example shows a sample JESMSGLG JOBLOG. Note that the Installation verification successful! message is present in both the JOBLOG and in the console.


10.50.21 JOB02018  -                                      ----TIMINGS (MINUTES)-----
10.50.21 JOB02018  -STEPNAME PROCSTEP    RC   EXCP   CONN       TCB       SRB  CLOCK
10.50.21 JOB02018  -LKED1                00    168     29  0.000077  0.000005    0.0
10.50.42 JOB02018  -GOBEFOR1             00    180     54  0.340171  0.000008    0.3
10.50.42 JOB02018  -VERIFY1              00     34      4  0.000047  0.000000    0.0
10.50.42 JOB02018  -OPTIMIZ1             00  16297    127  0.000933  0.000002    0.0
10.50.42 JOB02018  -VERIFY2              00     32      3  0.000040  0.000000    0.0
10.50.43 JOB02018  -GOAFTER1             00    195     53  0.010942  0.000014    0.0
10.50.43 JOB02018  -EXCEPT1           FLUSH      0      0  0.000000  0.000000    0.0
10.50.43 JOB02018  -POSTABND          FLUSH      0      0  0.000000  0.000000    0.0
10.50.43 JOB02018  -LKED2                00    199     32  0.000178  0.000006    0.0
10.50.43 JOB02018  -GOBEFOR2             00    312     77  0.000089  0.000025    0.0
10.50.43 JOB02018  -OPTIMIZ2             00  16306    128  0.001170  0.000003    0.0
10.50.44 JOB02018  -GOAFTER2             00    311     73  0.000090  0.000021    0.0
10.50.44 JOB02018  -EXCEPT2           FLUSH      0      0  0.000000  0.000000    0.0
10.50.44 JOB02018  +***     Installation verification successful!      *** ABOTEST  
10.50.44 JOB02018  -REPORT               00     54      6  0.000061  0.000001    0.0
If the VERIFY1 step fails, you will see the following message in both the JOBLOG and in the console:
z/OS version: xx.xx is not a supported z/OS version to run ABO.
 
If the VERIFY2 step fails, you will see the following message in both the JOBLOG and in the console:
IBM z server: type (name)
is not a supported hardware level to run ABO optimized modules.

For example:

IBM z server: 2817 (zEnterprise 196)
is not a supported hardware level to run ABO optimized modules.

If the OPTIMIZ1 step fails, verify the messages in this step log file to see which system or Language Environment® component is possibly missing. Fix the problem, and then run the BOZJIVP job again.

If the GOAFTER1 step fails, verify if step EXCEPT1 or POSTABND was executed. If the step EXCEPT1 was executed, you will see the following message in both the JOBLOG and in the console:
If MACHMIG VEF is specified in SYS1.IPLPARM(LOADxx), then it must be removed for ABO optimized modules.

Remove MACHMIG VEF specification from SYS1.IPLPARM(LOADxx), and then run the BOZJIVP job again.

If the step POSTABND was executed, you will see one of two possible messages in both the JOBLOG and in the console.

POSTABND possible message #1:
IVP is incomplete. The ARCH level specified is 13 (z15), but the actual ARCH level is 12 (z14)

If you see message #1 then correct the specified ABO ARCH option to be at, or lower than, the current level of IBM Z where the IVP is being run. Run the BOZJIVP job again after this correction.

POSTABND possible message #2:
If any required Binder/LE PTFs is missing, then install it. Otherwise, contact IBM service to report the problem

If you see message #2 then verify which Language Environment PTFs are missing.

Verify which Language Environment PTF is possibly missing. If one or more of the "Language Environment Automatic Binary Optimizer Runtime Engine" PTFs listed in Supported operating systems are not installed, an 0C1 abend is likely to occur. If the "Language Environment Automatic Binary Optimizer Runtime Engine" PTF is installed but is not the latest PTF listed in the Program Directory, a U4038 abend will occur and one of the following messages will be displayed:
IGZ0153S Program BOZSRC1 was compiled with a level of the compiler that requires service to be installed on Language Environment.
IGZ0355S Program BOZSRC1 was optimized with a level of the Automatic Binary Optimizer that requires service to be installed on Language Environment.

"Language Environment Automatic Binary Optimizer Runtime Engine" PTFs on z/OS 2.3 will cause the first message to be issued, and PTFs on z/OS 2.4 will cause the second message to be issued. The second message will be emitted on z/OS 2.5.

If instead of an abend, the GOAFTER1 step fails with a non-zero return code, then one or more of the following Language Environment APAR/PTFs need to be installed according to the return code from this failing step.

An entry of N/A in the table stands for ‘Not Applicable’ and means that this return code should not happen on the specified z/OS version.

If the GOAFTER1 step fails in one of these N/A cases, then contact IBM® service to report the problem.

Table 1. GOAFTER1 step return code and corresponding missing LE PTFs
Return code z/OS 2.3 z/OS 2.4 z/OS 2.5
16 or other nonzero value PH14705/UI64417
PH15921/UI65058
PH15921/UI65059
PH14705/UI64418
N/A
17 PI84561/UI49013 N/A N/A

Install the required PTFs, and then run the BOZJIVP job again.

If the EXCEPT2 step was executed, you will see the following message in both the JOBLOG and in the console:
If any required Binder/LE PTFs is missing, then install it. Otherwise, contact IBM service to report the problem.

If you see this message, then verify which Binder PTF is missing.

Table 2. Missing Binder PTFs for EXCEPT2 step
z/OS 2.3 z/OS 2.4 z/OS 2.5
OA63070/UJ90044 OA63070/UJ90045 OA63070/UJ90046

An 0C1 abend will also occur if you attempt to run the ABO generated modules on a system that is not supported by ABO. See Target hardware levels for the supported systems.