How to use the Program Analyzer and Optimizer
// SET JCLNAME=hlq.JCL.LIB(COBJCL) <- original COBOL program JCL location
// SET PGMNAME=COBPGM <- COBOL program name
// SET ABO=hlq.abo.loadlib <- ABO install location
// SET EXE=hlq.bozpa.location <- REXX program BOZPA location
// SET PROCNAME=N <- put hlq.lib(procname)
// SET OPTLOAD=TEMP <- put data set name or TEMP
// SET DYNSCAN=N <- for dynamic scan set to Y
The JCLNAME parameter can be obtained from the SMF Analyzer final report that can provide the JCL locations for the top CPU consuming programs.
When BOZPAJ is submitted with these settings, including DYNSCAN=N, the following actions take place:
When the PROCNAME parameter is specified and it points to the cataloged procedure location, then the procedure is copied into the job #1 and job #2 JCL as an in-stream procedure.
The ABO Assistant REXX program BOZPA in hlq.bozpa.location will submit job #1 to automatically profile and then run the program COBPGM in the original application JCL at hlq.JCL.LIB(COBJCL). Then job #2 will be submitted to optimize the ABO eligible COBOL CSECTs using the ABO at hlq.abo.loadlib and then run the application using the optimized modules. The performance results from analyzing and comparing the runs of the original and ABO optimized versions of the application will be generated in the ABO Assistant report. See Example report from the Program Analyzer and Optimizer.
The ABO Assistant report is available at userid.BOZPA.OUTPUT.pgmname. For example, if the TSO ID of the user who submitted BOZPAJ is ABOEVAL and PGMNAME=COBPGM, then the ABO Assistant report is available at ABOEVAL.BOZPA.OUTPUT.COBPGM. If no report is produced at userid.BOZPA.OUTPUT.pgmname (when DYNSCAN=N is specified), see the SYSTSPRT file of job #1 or job #2 for error messages. See BOZPAJ Parameter Error Messages for a list of possible messages.
The OPTLOAD parameter specifies where the optimized modules will be stored. If left at the default value of TEMP, then the ABO Assitant will use a dynamically allocated temporary data set for the optimized modules. This temporary data set will be removed after the performance report is produced. If the OPTLOAD parameter specifies an existing data set name, then the optimized modules will be stored at this location. If the OPTLOAD parameter specifies the name of a data set that does not exist, then this data set will be dynamically allocated at hlq.OPTLOAD to contain the optimized modules. Specifying an existing or new data set name for OPTLOAD allows you to retain the optimized modules after the Program Analyzer and Optimizer completes to be used for further evaluation or deployment.
If DYNSCAN=Y is in effect, then a report detailing compilation information for the modules that dynamically make up the application is produced in the job #2 OPTLOG file. In this case, no performance report is generated to userid.BOZPA.OUTPUT.pgmname and the OPTLOAD parameter is also ignored. If there is no job #2 OPTLOG file produced, then see the SYSTSPRT file of job #1 or job #2 for error messages. See BOZPAJ Parameter Error Messages for a list of possible messages.