[Edge Home] [Edge Portfolio Analyzer] [What's New]
[Language Environment] [Portfolio Management] [Consulting & Training]
[About Edge] [Edge Partners] [Edge Downloads]


EPA External Analyzers

EPA External Analyzers are routines that provide many commonly needed analyses on extracted information contained in EPA Data Files. The External Analyzers include the COBOL and PL/I source code they are written in (x suffix: C - COBOL; P - PL/I) plus sample JCL to run them. Analyzers included with the EPA package are:

ASMHL1x/ASMHL2x/ASMHL3x
This suite of three programs produces a series of reports that can help assess the impact of Assembler code on an LE migration. The listings provided are:
  1. ...1x: Assembler CSECTs found in modules that also contain High Level Language (HLL) components. The Assembler CSECTs are identified by both CSECT and load module name.
  2. ...2x: The number of observations of each Assembler CSECT across all modules and, if the input is from multiple libraries, across all libraries. This listing also indicates Assembler CSECTs that have the same name but are not identical because they have multiple compile dates or different CSECT sizes.
  3. ...3x: Assembler CSECTs in descending order of number of observations of CSECT name.

COBLEZx
Reports modules that contain only one COBOL CSECT. Other CSECTs in the modules may consist of anything else except COBOL. The report is in tabular format and identifes the level of COBOL language used for the COBOL component. (This Analyzer is an improved version of COBONEx.)


COBMIGx
Reports CSECTs compiled by non-LE compilers that may cause migration problems because of the composition of the load module. The programs should be relatively easy to migrate because they contain only COBOL and do not include Assembler or DBDC interfaces, but they may have issues related to the RES/NORES option or unexpected combinations of runtime components. (This Analyzer is an improved version of COBONLx.)


COBONEx
Reports COBOL modules that contain only a single COBOL CSECT. Other CSECTs in the modules may consist of anything else except COBOL. This analysis provides a good example of the simplest form of an external analyzer. (This Analyzer has been replaced by COBLEZx.)


COBONLx
Reports COBOL modules that contain only a single COBOL CSECT and no other CSECTs except, possibly, COBOL runtime support CSECTs. These programs should provide a good starting point for migration to newer versions of COBOL. (This Analyzer has been replaced by COBMIGx.)


COBRNRx
Reports two categories of problems with COBOL and COBOL library composition:
  1. Modules that contain COBOL programs compiled with both RES and NORES compiler options. This is an illegal combination in the same load module.
  2. Modules that contain OS/VS COBOL or VS COBOL II programs that are all RES, but also contain runtime library CSECTs (other than bootstraps and runtime options). The library CSECTs should not be present for RES compiled programs.

CSXREFx
Provides a cross reference of CSECTs in load modules. Lists module names and CSECT names sorted by CSECT name.


DUPNAMx
Reports instances of the same CSECT name with multiple compile dates or sizes. This inconsistency check can indicate a flaw in the process used for change control, especially when there is only one source program to create the CSECT.


DB2Q01S
Analyzes languages that use DB2 facilities. The analysis is performed by loading a MACHINE and an XREF data file into DB2 tables, joining the two tables, and then using SQL selection criteria to match the language in the MACHINE file with the references to DB2 CSECTs in the XREF file. (JCL statements and definitions included with this Analyzer are for the DB2 processes.)


GXREFC
Provides a cross reference of CSECTs in load modules. The listing is similar to CSXREFx, but it also contains the UID field to identify the library as well as the module name.


JCLGENx
Creates JCL for separate Jobs to run the EPA to analyze a list of load libraries. A unique PARM='/Unnnn' is created with a numeric value to identify each execution. The default for the nnnn value starts at 2001 and increments by one for each library in the input list. Using the same logic, similar JCL could be created to run a series of Jobs for any External Analyzer. Only the program name and DD-names would have to be changed in constants in the programs.


LEV210x
Reports references to the CEEGPID Callable Service. The value returned by this service has changed in OS/390 V2R10, and programs using it must be updated.


MRRECx
Reports the values of all the fields in MACHINE data file records. Only a listing is generated; no analysis is performed.


PFISCNx
Reports load modules that use the PL/I Fast Initialization feature that was available in PL/I Version 1.4 and Version 1.5.1. Migration to newer versions of PL/I require that this feature be replaced by relinking the modules.


PIISCNx
Reports load modules that require special attention in a PL/I migration because they contain one or more of the following:
  • PL/I Interlanguage Communication (ILC)
  • PL/I Sort usage
  • References to PLIDUMP
  • References to PLITEST

PIOSCNx
Reports load modules that use PL/I RECORD and/or STREAM I/O statements. This information can be useful in an analysis of online programs where no operating system I/O is supposed to be used.


PLESCNx
Reports load modules that require special attention in a PL/I migration. Reports the same information as PLIISCNx plus it also lists modules that use the PL/I FETCH or RELEASE statements to dynamically load other modules.


PLIFCHP
Reports load modules that use the PL/I FETCH or RELEASE statements to dynamically load other modules. In addition, the programs that issue the FETCH and the names of the programs that are FETCHed are identified.


PNONESx
Reports load modules that do not contain any PL/I compiled CSECTS.


PV1SCNx
Reports load modules containing compiled code from any PL/I Version 1.x compiler.


RLINK0x
Generates Linkage Editor control statements to relink load modules reported in an EPA MACHINE data file. The control statements will force replacement of compiler library and, optionally, DB/DC CSECTs that exist in the modules.


RLINK1P
Generates Linkage Editor control statements to relink load modules that contain user specified CSECTs that are to be replaced during the relink process. Only if a CSECT name in a module matches the name specified by the user will the module be relinked. Runtime CSECTs will also be refreshed in modules selected for relinking. Similar to RLINK0x.


RLINK2x
Generates the same Linkage Editor control statements as RLINK0x, except that the control statements are output into one or more separate files depending on the four possible combinations of the link edit attributes RENT and REUS.


RLINK3P
Generates the same Linkage Editor control statements as RLINK1x and outputs them into four separate files the same as RLINK2x.


SYSDATx
Reports Assembler, COBOL, and PL/I CSECTs that request the current system date. This Analyzer uses both the MACHINE and XREF data files.


XMODECx
Reports load modules that are not able to be executed in 31-bit mode, i.e., any module that contains a CSECT that will keep the module from being run AMODE(ANY), RMODE(ANY).
[Edge Home] [Edge Portfolio Analyzer] [What's New]
[Language Environment] [Portfolio Management] [Consulting & Training]
[About Edge] [Edge Partners] [Edge Downloads]


Copyright ©, 2007, Edge Information Group, Inc.
Revision: 3.2 (15 June 2007)
Send comments to: Webmaster