Sample of Peter Martin's Documentation Experience: Close this Window
The following is a sample report from the MVS based Application Analysis system that Peter Martin designed and built for a Software remediation company.

The report was generated by the Microsoft Word / Visual Basic tool designed and developed by Peter Martin [with the assistance of a technical writer].

The tool directly processes the downloaded output of the MVS reports. The mainframe system was written in Assembler language.

Application Packaging Service

Sample Inventory Report

Initial Inventory

with external references

and Missing Members

 

 

 

Version 2.1

06/03/01


Table of Contents

1. Scope of Study

1.1 Files Processed

1.2 Grand Totals

1.3 Identification of Duplicates

2. Reports

2.1.1 Member Type Report

2.1.2 Duplicate Member Report

2.1.3 External References Report

2.1.4 Assembler Macros Report

2.1.5 Where Used Report

2.1.6 Missing Members Report

2.2 Current Language Capabilities

2.3 Line Counts

2.3.1 COBOL

2.3.2 Assembler Language

2.3.2.1 Non-executable Lines

2.3.2.2 Comment Lines

2.3.2.3 Executable Lines

3. Reports

3.1 Member Types and Line Counts

3.1.1 Eastern Region

3.1.1.1 ALY001A1.CBL

3.1.1.2 ALY001A1.CPY

3.1.1.3 ALY001A1.JCL

3.1.1.4 ALY001A2.JCL

3.1.2 ALY002 - Western Region

3.1.2.1 ALY002A1.EZT

3.1.2.2 ALY002A1.MAC

3.1.2.3 ALY002B2.CBL

3.1.2.4 ALY002C1.ASM

3.1.2.5 ALY002C2.ASM

3.1.2.6 ALY002E1.PSB

3.2 Duplicate Members

3.2.1 ALY001

3.3 External References

3.3.1 External Reference Reports

3.3.1.1 References from Job Control

3.3.1.2 References from Programs

3.3.2 Cross Reference Reports

3.3.2.1 Job Control Cross References

3.3.2.2 Program Cross References

3.3.3 Unresolved External References

3.3.3.1 Missing References from Job Control

3.3.3.2 Missing References from Programs


  1. Scope of Study

    1. Files Processed

      This study was done on several files which were received from the customer. These were loaded into partitioned data sets on the MVS system. The process was run by the production staff. The results were placed in the common inventory file on the MVS system. The resulting report is an analysis of those datasets.

    2. Grand Totals

      The following totals were calculated while auditing the above results with Microsoft Excel. They are not to be used as price quotes for customers.

      Dataset

      Members

      Records

      Comments

      Blanks

      Net

      ALY001A1.CBL

      4

      7,472

      1,675

      68

      5,729

      ALY001A1.CPY

      21

      3,659

      754

      0

      2,905

      ALY001A1.JCL

      2

      21

      3

      0

      18

      ALY001A2.JCL

      3

      185

      106

      0

      79

      ALY001A2.EZT

      65

      29,059

      9,373

      64

      19,622

      ALY001A1.MAC.

      36

      5,198

      3,659

      0

      1,539

      ALY001B2.CBL

      2

      21,172

      3,728

      1

      17,443

      ALY001C1.ASM

      1

      727

      123

      92

      512

      ALY001C2.ASM

      2

      100

      52

      0

      48

      ALY001E1.PSB

      1

      128

      54

      0

      74

      Total

       

    3. Identification of Duplicates

    There were several members of this inventory which had duplicate names. They are identified in the Duplicate Members report


  2. Reports
      1. Member Type Report

        The purpose of the Member Type Report is to show the language identification process that has been built for analyzing application code as it is processed in the MVS environment. In addition, the report shows the name of each member, the number of total lines, comment lines and blank lines. The net lines for each member is calculated by subtracting comment and blank lines from the total lines.

        This report shows the partitioned dataset from which the member has been read. This is used for the purpose of identifying duplicate members with the same name.

        Totals are provided for the number of members for each partitioned dataset processed, the total number of lines, the total number of comments, the total number of blanks, and the net lines of code to be processed. This is often referred to as the number of compilable lines of code.

      2. Duplicate Member Report

        The purpose of the Duplicate Member Report is to show any occurrences two or more members with the same name. This is necessary in order to avoid confusion between two members in the later processing. To assist in the identification process, the report shows the member name, the language type, the number of total lines of code, and the dataset from which member has been read.

      3. External References Report

        One of the most important aspects of an application inventory is to identify those modules [copybooks, called subroutines, invocation of macros, and execution of subprograms] that occur within the application programs. These can be though of as external references.

        This report lists each external reference in each application member, showing the line of code in which the reference actually occurs. For convenience, the line and column number of each reference is show.

      4. Assembler Macros Report

        In IBM Assembler Language programs, the reusable code is often entered in subroutines referred to as ‘Macros’. Some of these are standard IBM offerings while others are user built and user specific. The provisions have been made in this process to identify each of the user specific macros.

        The format of this report is the same as the External References Report. This has been done to enable the processing of this information in the Where Using report which follows.

      5. Where Used Report

        Once the external references are identified in each program, it is helpful to identify each of the other locations in which these modules are referenced. This is accomplished by building a cross reference type report showing the member used, the number of usages, and the programs which use the member.

        Since this is based on the External References Report, the report includes calls, copies, includes, executes, and any other identifiable external reference.

      6. Missing Members Report

      In addition to reviewing which modules are referenced, it is important to identify whether or not these modules are located within the set of applications that the process has analyzed.

      This is simply a matter of locating each member name within the list of application members and printing those for which there is no match.

    1. Current Language Capabilities

      Currently available language identification capabilities include:

      COBOL
      Assembler
      PL1
      Dyl280
      Eztrieve
      FORTRAN
      FOCUS
      Natural – Systran File Analysis
      Quickjob
      IDMS Schemas
      MVS JCL – Job Control starting with Job Cards
      MVS Procedures
      - Job Control without Job Cards
      DBDs
      PSBs
      CICS Maps
      Sorts
      - external
      Abstracts – modules that contain only comments and blank lines.

    2. Line Counts

      1. COBOL

        The purpose of this tool is to identify ‘compilable code’ which is a direct measurement of the maintainability of an application. This process uses ‘line’ counting rather than ‘statement’ counting techniques. This is consistent with many of the MVS industry products.

        Exceptions are currently made for the following lines:

        Blank lines
        Lines containing no characters in column 7 through 72,
        Lines containing only the character ‘/’ in column 7,
        Lines containing only the EJECT compiler director command,
        Lines containing only the SKIP compiler director command.
        Comments
        Lines containing an ‘*’ in column 7, or
        Lines containing an ‘*’ in column 1.

      2. Assembler Language
        1. Non-executable Lines

          Any blank line, line with only "\n" as line, or Assembler statement with the OPCODE SPACE or the OPCODE EJECT is considered as non-executable lines. For example, SPACE and EJECT commands.

        2. Comment Lines

Any line starts with an asterisk , or a period then followed by asterisk(s) is considered as a comment line. In addition, if any JCL statement is present, any line that starts with "//*", "*", ">", or "<" is considered as comment line.

For example:

** CALL 'ABDUMP' USING NODUMP USER-CODE.

        1. Executable Lines

All other lines including JCL and CICS statements are counted as Assembler executable lines.

For example,


  1. Reports

    The following is a sampling of the reports which were produced by the process. An attempt has been made to select representation of each type of report. In most cases, the reports have been abbreviated by removal of the middle lines.

    1. Member Types and Line Counts
      1. Eastern Region
        1. ALY001A1.CBL

          ALY001A1.CBL

          # AL0PMAT1 MEMBER TYPE REPORT RUN TIME 02/02/1999 21:24 1.2.0

          # MEMBER TYPE LINES DATASET NAME VOL SER

          @ COD7533T C CBL 2335 572 30 ALY001A1.CBL

          @ CPD3097T C CBL 1591 165 6 ALY001A1.CBL

          @ CRDCSCMP C CBL 1553 105 31 ALY001A1.CBL

          @ UTSDATE C CBL 1993 833 1 ALY001A1.CBL

          # MEMBERS RECORDS COM BLANKS NET

          ## 4 7472 1675 68 5729 ALY001A1.CBL

        2. ALY001A1.CPY

          # AL0PMAT1 MEMBER TYPE REPORT RUN TIME 02/02/1999 21:24 1.2.0

          # MEMBER TYPE LINES DATASET NAME VOL SER

          @ COTBOEGP Y CPY 508 101 ALY001A1.CPY

          @ COTBOMDA Y CPY 57 9 ALY001A1.CPY

          @ COTBOMDI Y CPY 258 9 ALY001A1.CPY

          @ COTDPSSC Y CPY 41 12 ALY001A1.CPY

          @ CPTBOEDT Y CPY 22 5 ALY001A1.CPY

          @ CPTBOEGP Y CPY 237 89 ALY001A1.CPY

          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

          @ CPTPCMPL C CBL 20 16 ALY001A1.CPY

          @ CPTVALID Y CPY 277 38 ALY001A1.CPY

          @ CPTVPLBR Y CPY 31 9 ALY001A1.CPY

          @ CPTWCMPL Y CPY 35 17 ALY001A1.CPY

          @ CRTHDGS Y CPY 245 43 ALY001A1.CPY

          @ METBOIN1 Y CPY 151 17 ALY001A1.CPY

          @ METCADDR Y CPY 222 52 ALY001A1.CPY

          @ UTTDATE Y CPY 169 53 ALY001A1.CPY

          # MEMBERS RECORDS COM BLANKS NET

          ## 21 3659 754 2905 ALY001A1.CPY

        3. ALY001A1.JCL

          # AL0PMAT1 MEMBER TYPE REPORT RUN TIME 02/02/1999 21:24 1.2.0

          # MEMBER TYPE LINES DATASET NAME VOL SER

          @ COMP3 ? J JOB 11 2 ALY001A1.JCL

          @ CRDCSCMP ? J JOB 10 1 ALY001A1.JCL

          # MEMBERS RECORDS COM BLANKS NET

          ## 2 21 3 18 ALY001A1.JCL

        4. ALY001A2.JCL

        # AL0PMAT1 MEMBER TYPE REPORT RUN TIME 02/02/1999 21:24 1.2.0

        # MEMBER TYPE LINES DATASET NAME VOL SER

        @ COBOLMVS ? J JOB 74 38 ALY001A2.JCL

        @ COB2UCL ? J JOB 75 39 ALY001A2.JCL

        @ CRDCSCMP ? J JOB 36 29 ALY001A2.JCL

        # MEMBERS RECORDS COM BLANKS NET

        ## 3 185 106 79 ALY001A2.JCL

      2. ALY002 - Western Region
        1. ALY002A1.EZT

          # AL0PMAT1 MEMBER TYPE REPORT RUN TIME 02/02/1999 21:24 1.2.0

          # MEMBER TYPE LINES DATASET NAME VOL SER

          @ AFA101E E EZT 721 199 99:026 ALY002A1.EZT

          @ AFA102E E EZT 874 266 2 99:026 ALY002A1.EZT

          @ AFA103E E EZT 185 105 99:026 ALY002A1.EZT

          @ AFA104E E EZT 765 188 99:026 ALY002A1.EZT

          @ AFA105E E EZT 518 148 1 99:026 ALY002A1.EZT

          @ AFA111E E EZT 478 131 99:026 ALY002A1.EZT

          @ AFA112E E EZT 202 103 99:026 ALY002A1.EZT

          @ CALLS ? ?OT 296 99:026 ALY002A1.EZT

          @ CAS101E E EZT 167 98 99:026 ALY002A1.EZT

          @ CAS103E E EZT 195 84 99:026 ALY002A1.EZT

          @ CAS104E E EZT 197 79 99:026 ALY002A1.EZT

          @ CAS105E E EZT 708 258 1 99:026 ALY002A1.EZT

          @ CAS106E E EZT 693 248 1 99:026 ALY002A1.EZT

          @ CAS107E A ASM 709 270 1 99:026 ALY002A1.EZT

          @ CAS108E A ASM 699 259 1 99:026 ALY002A1.EZT

          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

          @ CLM115E E EZT 165 84 99:026 ALY002A1.EZT

          @ CLM116E E EZT 167 85 99:026 ALY002A1.EZT

          @ CLM117E E EZT 181 84 99:026 ALY002A1.EZT

          @ CLM118E E EZT 560 128 99:026 ALY002A1.EZT

          @ CLM400E E EZT 258 83 99:026 ALY002A1.EZT

          @ CLM416E E EZT 230 117 99:026 ALY002A1.EZT

          @ CLM419E E EZT 166 84 99:026 ALY002A1.EZT

          @ CLM448E E EZT 194 84 99:026 ALY002A1.EZT

          @ DUMP A ASM 33 23 99:026 ALY002A1.EZT

          @ ITS145E E EZT 220 91 99:026 ALY002A1.EZT

          @ ITS447E E EZT 589 116 99:026 ALY002A1.EZT

          @ ITS450E E EZT 269 110 2 99:026 ALY002A1.EZT

          @ UTL000 C CBL 2371 227 12 99:026 ALY002A1.EZT

          @ UTL119 C CBL 3 99:026 ALY002A1.EZT

          @ UTL121 C CBL 200 37 25 99:026 ALY002A1.EZT

          @ WIZ007E A ASM 3182 954 9 99:026 ALY002A1.EZT

          # MEMBERS RECORDS COM BLANKS NET

          ## 65 29059 9373 64 19622 ALY002A1.EZT

        2. ALY002A1.MAC

          # AL0PMAT1 MEMBER TYPE REPORT RUN TIME 02/02/1999 21:24 1.2.0# MEMBER TYPE LINES DATASET NAME VOL SER

          @ AFACNTLR E EZT 59 58 99:025 ALY002A1.MAC

          @ AFADTCKR E EZT 409 402 99:025 ALY002A1.MAC

          @ AFAGRUPR E EZT 61 60 99:025 ALY002A1.MAC

          @ AFARLSER E EZT 79 78 99:025 ALY002A1.MAC

          @ BCMCDTCK E EZT 463 456 99:025 ALY002A1.MAC

          @ BCMCMAFD E EZT 33 32 99:025 ALY002A1.MAC

          @ BCOCDP E EZT 387 269 99:025 ALY002A1.MAC

          @ BCOCDYTS E EZT 433 301 99:025 ALY002A1.MAC

          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`

          @ UTLPVDTW E EZT 18 13 99:025 ALY002A1.MAC

          @ UTL000L E EZT 73 31 99:025 ALY002A1.MAC

          @ UTL000W E EZT 103 49 99:025 ALY002A1.MAC

          @ UTL117L E EZT 70 32 99:025 ALY002A1.MAC

          @ UTL117W E EZT 100 45 99:025 ALY002A1.MAC

          @ WIZEXT E EZT 46 45 99:025 ALY002A1.MAC

          @ WIZEXTN E EZT 32 28 99:025 ALY002A1.MAC

          @ WIZEXTRP E EZT 36 26 99:025 ALY002A1.MAC

          # MEMBERS RECORDS COM BLANKS NET

          ## 36 5198 3659 1539 ALY002A1.MAC

        3. ALY002B2.CBL

          # AL0PMAT1 MEMBER TYPE REPORT RUN TIME 02/02/1999 21:24 1.2.0

          # MEMBER TYPE LINES DATASET NAME VOL SER

          @ CONTIF3 C CBL 13849 22741 1 99:026 ALY002B2.CBL

          @ GRPPLNIF C CBL 7323 1454 99:026 ALY002B2.CBL

          # MEMBERS RECORDS COM BLANKS NET

          ## 2 21172 3728 1 17443 ALY002B2.CBL

        4. ALY002C1.ASM

          # AL0PMAT1 MEMBER TYPE REPORT RUN TIME 02/02/1999 21:24 1.2.0

          # MEMBER TYPE LINES DATASET NAME VOL SER

          @ DATECVT A ASM 727 123 92 99:026 ALY002C1.ASM

          # MEMBERS RECORDS COM BLANKS NET

          ## 1 727 123 92 512 ALY002C1.ASM

        5. ALY002C2.ASM

          # AL0PMAT1 MEMBER TYPE REPORT RUN TIME 02/02/1999 21:24 1.2.0

          # MEMBER TYPE LINES DATASET NAME VOL SER

          @ DUMP A ASM 33 23 99:026 ALY002C2.ASM

          @ UTL118A A ASM 67 29 99:026 ALY002C2.ASM

          # MEMBERS RECORDS COM BLANKS NET

          ## 2 100 52 48 ALY002C2.ASM

        6. ALY002E1.PSB

      # AL0PMAT1 MEMBER TYPE REPORT RUN TIME 02/02/1999 21:24 1.2.0

      # MEMBER TYPE LINES DATASET NAME VOL SER

      @ MBRM400 2 PSB 128 54 99:026 ALY002E1.PSB

      # MEMBERS RECORDS COM BLANKS NET

      ## 1 128 54 74 ALY002E1.PSB

    2. Duplicate Members
      1. ALY001

      The process shows that there are 43 modules duplicated in the following inventory. They are indicated by the #D in the left column.

      # APPLICATION MEMBER DUPLICATION REPORT 01/06/1999

      # MEMBER TYPE LINES DATASET NAME VOLSER

      @ COTBOEGP Y CPY 440 94 ALY001B1.CPY

      @ COTBOEGP Y CPY 508 101 ALY001A1.CPY

      #D COTBOEGP ***** 2

      @ COTBOMDA Y CPY 57 9 ALY001A1.CPY

      @ COTBOMDA Y CPY 57 9 ALY001B1.CPY

      #D COTBOMDA ***** 2

      @ COTBOMDI Y CPY 258 9 ALY001B1.CPY

      @ COTBOMDI Y CPY 258 9 ALY001A1.CPY

      #D COTBOMDI ***** 2

      @ COTDPSSC Y CPY 41 12 ALY001A1.CPY

      @ COTDPSSC Y CPY 41 12 ALY001B1.CPY

      #D COTDPSSC ***** 2

      @ CPD3097T C CBL 1591 165 6 ALY001A1.CBL

      @ CPD30974 C CBL 1307 92 6 ALY001B1.CBL

      @ CPTBOEDT Y CPY 22 5 ALY001B1.CPY

      @ CPTBOEDT Y CPY 22 5 ALY001A1.CPY

      #D CPTBOEDT ***** 2

      @ CPTBOEGP Y CPY 237 89 ALY001A1.CPY

      @ CPTBOEGP Y CPY 200 77 ALY001B1.CPY

      #D CPTBOEGP ***** 2

      @ CPTELEXT Y CPY 37 6 ALY001B1.CPY

      @ CPTELEXT Y CPY 37 6 ALY001A1.CPY

      #D CPTELEXT ***** 2

      @ CPTELGLC Y CPY 339 37 ALY001A1.CPY

      @ CPTELGLN Y CPY 413 63 ALY001A1.CPY

      @ CPTELGLN Y CPY 413 63 ALY001B1.CPY

      ALY003A1.CPY

      @ WSISASEG Y CPY 38 3 ALY003A1.CPY

      @ WSISASEG E EZT 37 36 ALY003C1.MAC

      #D WSISASEG ***** 2

      @ ZIPMAS Y CPY 87 5 ALY004A1.CPY

      # MEMBERS RECORDS ASSEMB COBOL FORTRAN JOBS PROCS OTHER BLANKS

      # 516 11 51 418 36

      #D

      #D 123 DUPLICATE MEMBER NAMES ARE IN APPLICATION

    3. External References
      1. External Reference Reports

        These reports are generated by the INCLUDES program. They show ever occurrence of a member, job control or program, reaching out to another element. Without resolution to these references, the application is not complete

        1. References from Job Control

          21 # AL0PMAJ6 EXTERNAL REFERENCES REPORT IMAGE OF PARSED CODE

          22 #

          23 * COBOLMVS EXEC PGM=IGYCRCTL 3 10 // COB EXEC PGM=IGYCRCTL,PARM='TRUNC(BIN),SZ(MAX)&OPT'

          24 * COBOLMVS DSN SYS1.SIGYCOMP 4 17 // STEPLIB DD DSN=SYS1.SIGYCOMP,DISP=SHR =COBOL/MVS COMPI

          25 * COBOLMVS DSN &&LOADSET 7 17 // SYSLIN DD DSN=&&LOADSET, ->COMPILED OBJEC

          26 * COBOLMVS DSN &COPY1 10 17 // DD DSN=&COPY1,DISP=SHR <-TEST COPYBOOKS

          27 * COBOLMVS DSN &COPY2 11 17 // DD DSN=&COPY2,DISP=SHR <-PROD COPYBOOKS

          28 * COBOLMVS DSN &COPY1 12 17 // SYSLIB2 DD DSN=&COPY1,DISP=SHR <-OVERRIDE COPYB

          29 * COBOLMVS DSN &SOURCE 13 17 // SYSIN DD DSN=&SOURCE(&MEM),DISP=SHR <-COBOL2 SOURCE

          30 * COBOLMVS EXEC PGM=TSDPARM 22 15 // GENLKED EXEC PGM=TSDPARM,PARM=' NAME &MEM(R)'

          31 * COBOLMVS DSN &&CARDLKED 23 17 // CARDS DD DSN=&&CARDLKED, ->LKED CONTROL C

          32 * COBOLMVS DSN &&GOSET 25 17 // LOADLIB DD DSN=&&GOSET, ->DEF TEMP LOADL

          33 * COBOLMVS EXEC PGM=IEWL 27 14 // LKED EXEC PGM=IEWL,PARM='LIST,XREF,LET,MAP',COND=(5,LT,COB)

          34 * COBOLMVS DSN SYS1.SCEELKED 28 17 // STEPLIB DD DSN=SYS1.SCEELKED,DISP=SHR

          35 * COBOLMVS DSN &&LOADSET 29 17 // SYSLIN DD DSN=&&LOADSET,DISP=(OLD,DELETE) <-COMPILED OBJEC

          36 * COBOLMVS DSN &LOAD 31 17 // SYSLMOD DD DSN=&LOAD(&MEM),DISP=SHR ->LOAD MODULE OU

          37 * COBOLMVS DSN SYS2.LINKLIB 32 17 // SYSLIB DD DSN=SYS2.LINKLIB,DISP=SHR <-CALLED PROGRAM

          38 * COBOLMVS DSN SYS1.SCEELKED 33 17 // DD DSN=SYS1.SCEELKED,DISP=SHR <-COBOL/MVS ROUT

          39 * COBOLMVS DSN &&CARDLKED 34 17 // SYSIN DD DSN=&&CARDLKED,DISP=(OLD,DELETE) <-CONTROL CARDS

          40 @ MEMBER LINES COPYS INCLUDES SORTS EXS CALLS DSNS

          41 @ COBOLMVS 74 3 14 | ALYDAAR.ALY001A2.JCL

          42 @ - - - - - - - -

          43 * COB2UCL EXEC PGM=IGYCRCTL 3 11 // COB2 EXEC PGM=IGYCRCTL,PARM='TRUNC(BIN),SZ(MAX)&OPT'

          44 * COB2UCL DSN SYS1.SIGYCOMP 4 17 // STEPLIB DD DSN=SYS1.SIGYCOMP,DISP=SHR =COBOL/MVS COMPI

          45 * COB2UCL DSN &&LOADSET 7 17 // SYSLIN DD DSN=&&LOADSET, ->COMPILED OBJEC

          46 * COB2UCL DSN &COPY1 10 17 // DD DSN=&COPY1,DISP=SHR <-TEST COPYBOOKS

          47 * COB2UCL DSN &COPY2 11 17 // DD DSN=&COPY2,DISP=SHR <-PROD COPYBOOKS

          48 * COB2UCL DSN &COPY1 12 17 // SYSLIB2 DD DSN=&COPY1,DISP=SHR <-OVERRIDE COPYB

          49 * COB2UCL DSN &SOURCE 13 17 // SYSIN DD DSN=&SOURCE(&MEM),DISP=SHR <-COBOL2 SOURCE

          50 * COB2UCL EXEC PGM=TSDPARM 22 15 // GENLKED EXEC PGM=TSDPARM,PARM=' NAME &MEM(R)'

          51 * COB2UCL DSN &&CARDLKED 23 17 // CARDS DD DSN=&&CARDLKED, ->LKED CONTROL C

          ~~~~~~~~~~~~~~~~~~~~~~~~~

          56 * COB2UCL DSN &LOAD 31 17 // SYSLMOD DD DSN=&LOAD(&MEM),DISP=SHR ->LOAD MODULE OU

          57 * COB2UCL DSN SYS2.LINKLIB 32 17 // SYSLIB DD DSN=SYS2.LINKLIB,DISP=SHR <-CALLED PROGRAM

          58 * COB2UCL DSN SYS1.SCEELKED 33 17 // DD DSN=SYS1.SCEELKED,DISP=SHR <-COBOL/MVS ROUT

          59 * COB2UCL DSN &&CARDLKED 34 17 // SYSIN DD DSN=&&CARDLKED,DISP=(OLD,DELETE) <-CONTROL CARDS

          60 @ MEMBER LINES COPYS INCLUDES SORTS EXS CALLS DSNS ALYDAAR.ALY003B3.JCL

           

        2. References from Programs

         

        The following report shows all external references within the program source code, regardless of the particular language. These references include calls, copies, and executes.

        # AL0PMAJ6 EXTERNAL REFERENCES REPORT IMAGE OF PARSED CODE

        #

        * COD7533T COPY |COTBOMDI 82 18 |008200 COPY COTBOMDI. 000

        * COD7533T COPY |COTDPSSC 98 17 |009800 COPY COTDPSSC. 000

        * COD7533T COPY |CPTELGSI 105 17 |010500 COPY CPTELGSI REPLACING ==':ELGSI:'== BY ==ELGSI==. 000

        * COD7533T COPY |CPTELGLC 112 18 |011200 COPY CPTELGLC REPLACING ==':ELGLC:'== BY ==ELGLN==. 000

        * COD7533T COPY |CPTINVS0 119 18 |011900 COPY CPTINVS0 REPLACING ==':INVST:'== BY ==INVST==. 000

        * COD7533T CALL |UTSDATE 837 18 |083100 CALL 'UTSDATE' USING WS-UTL-DATE-PASS-AREA. 000

        * COD7533T CALL |ILBOABN0 841 21 |083500 CALL 'ILBOABN0' 000

        * COD7533T CALL |UTSDATE 1432 19 |139800 CALL 'UTSDATE' USING WS-UTL-DATE-PASS-AREA. 001

        * COD7533T CALL |UTSDATE 1481 19 |144700 CALL 'UTSDATE' USING WS-UTL-DATE-PASS-AREA. 001

        * COD7533T CALL |UTSDATE 1521 18 |148700 CALL 'UTSDATE' USING WS-UTL-DATE-PASS-AREA . 001

        * COD7533T CALL |UTSDATE 1548 18 |151400 CALL 'UTSDATE' USING WS-UTL-DATE-PASS-AREA. 001

        * COD7533T CALL |UTSDATE 1572 18 |153800 CALL 'UTSDATE' USING WS-UTL-DATE-PASS-AREA. 001

        * COD7533T CALL |UTSDATE 1624 19 |159000 CALL 'UTSDATE' USING WS-UTL-DATE-PASS-AREA. 001

        * COD7533T CALL |UTSDATE 1664 18 |163000 CALL 'UTSDATE' USING WS-UTL-DATE-PASS-AREA. 001

        * COD7533T CALL |UTSDATE 1691 18 |165700 CALL 'UTSDATE' USING WS-UTL-DATE-PASS-AREA. 001

        * COD7533T CALL |UTSDATE 1715 18 |168100 CALL 'UTSDATE' USING WS-UTL-DATE-PASS-AREA. 001

        * COD7533T CALL |ILBOABN0 1766 27 |173200 CALL 'ILBOABN0' USING WS-ABEND-CODE. 001

        * COD7533T CALL |ILBOABN0 2333 21 |228600 CALL 'ILBOABN0' USING WS-ABEND-CODE. 002

        @ MEMBER LINES COPYS INCLUDES SORTS EXECS CALLS DSNS

      2. Cross Reference Reports

        These reports have been developed to show each of the external references and the Jobs or programs which refer to them. This is the basis for the missing members process.

        1. Job Control Cross References

          The following report shows the external references within the Job Control members and those Job Control members which reference them. The number just to the left of the first usage field is the number of references with in the jobs. It is possible to have multiple references within a single job.

          This is useful in deciding which jobs use a particular called subroutine or dataset, both of which are considered a external references.

          1 # AL0PMAW3 External Reference Report DATE: 02/04/99 AND TIME: 16.08 02/04/99

          2 REFERENCE USAGE IS USED BY THE FOLLOWING PROGRAMS:

          3

          148 * MBRS.PROD0529.DRAFTFLE.M 1 MBRM040

          149 * MBRS.PROD0626.MBRM403.GG 2 MBRM040

          150 * MBRS.PROD0627.DS05.MBRM4 1 MBRM040

          151 * MBRS.PROD0628.MBRM403.IM 3 MBRM040

          152 * MBRS.PROD0645.IMSLOG.MBR 3 MBRM040

          153 * MBRS.PROD0652.MBRM404.EX 1 MBRM040

          154 * MBRS.PROD0653.MBRM404.BI 1 MBRM040

          155 * MBRS.PROD0659.SORT 2 MBRM040

          175 * MBRS.PROD6687.DGSAM.MBRM 1 MBRM040

          176 * MEM.MESTABLE 4 MBRM040 L0180001 MBRM040

          177 * MEMBER 52 MBRM040

          178 *+ P.CARDLIB 13 MBRM040 L0180001 MBRM040 L0180001 MBRM040 L0180001 MBRM040 L0180001 MBRM040 L0180001

          179 * P.CARDLIB 15 L0180001 MBRM040 L0180001 MBRM040 L0180001 MBRM040 L0180001

          180 * P.LINKLIB 2 L0180001 MBRM040

          181 * P.MACROLIB 3 L0180001

          182 * PGM=CAS153 1 L0180001

          207 * PGM=ICEGENER 1 L0180001

          208 * PGM=ICEMAN 11 MBRM040 L0180001 MBRM040 L0180001 MBRM040 L0180001 MBRM040 L0180001

          209 * PGM=IDCAMS 7 EDISD250 EDISD010 L0180001

          210 * PGM=IEBGENER 1 EDISD170

          211 * PGM=IEFBR14 1 MBRM040

          212 * PGM=IEWL 2 COBOLMVS COB2UCL

          213 * PGM=IGYCRCTL 2 COBOLMVS COB2UCL

          218 * PGM=SRIUTLTY 6 EDISD010 EDISD020 EDISD010 EDISD170 EDISD020 EDISD010

          219 * PGM=TSDPARM 2 COBOLMVS COB2UCL

          220 * PROD.TABLES 14 L0180001 MBRM040 L0180001 MBRM040 L0180001 MBRM040 L0180001

          228 * ZF73C.USER.LOADLIB COMP3

          229 -----------------------------------------------------------------------------------------------------------

          230 # 739 RECORDS 124 RERENCES UNIQUE - REFERENCES IN INVENTORY I

        2. Program Cross References

        The following report shows the external references Program Members and those members that reference them.

        # AL0PMAW3 EXTERNAL REFERENCE REPORT DATE: 02/04/99 AND TIME: 16.08 02/04/99

        REFERENCE USAGE IS USED BY THE FOLLOWING PROGRAMS:

        * ABEND 1 |BCON2001

        * ABORT 2 |EDB095 DBERABND

        * ADDRESS 1 |BCON2001

        * AD1 1 |EDB180

        * AD101 1 |EDB180

        * AD102 1 |EDB180

        * AGEAREA 2 |AGESUB MBRM400

        * AGESUB 1 |MBRM400

        * ALLOC 2 |EDB490 EDB040

        * BCMCCLMS 2 |CS2B1201 CS2B0701

        * BCOCAS 2 |CS2B0701 CS2B1201

        * BCOCAUTR 2 |CS2B1201 CS2B0701

        * BCOCBVIO 3 |CS2BIO CS2B1201 CS2B0701

        * BCOCCIVE 1 |BCON2001

        * BCOCDATE 1 |BCON2001

        * BCOCDBAR 2 |CS2B1201 CS2B0701

        * BCOCDP 2 |CS2B0701 CS2B1201

        * BCOCDPTR 3 |CS2B0701 CS2B1201 BCON2001

        * BDERRCDS 1 |MBRM400

        * BENMAS 3 |MAS205 FRM086 SUBDUES

        * BENMASF 3 |SUBDUES MAS205 FRM086

        * BENMASL 3 |MAS205 FRM086 SUBDUES

        * BENMASS 3 |SUBDUES MAS205 FRM086

        * BILREC 2 |FRM345 MAS205

        * BILRECF 2 |FRM345 MAS205

        * BILRECS 2 |MAS205 FRM345

        * CANCEL 4 |CAS941E CAS948E CALLS

        * CASIOZIP 1 |BCON2001

        * CASTWA2W 1 |BCON2001

        * CBILLSSA 1 |MBRM400

        * CBLDAPCB 1 |MBRM400

        * CBLTDLI 81 |MBRM400

        * CNTADRSG 1 |MBRM400

        * CNTCONSG 1 |MBRM400

        --------------------------------------------------------------------------------------------------------------------------------

        # 1660 RECORDS 405 REFERENCES UNIQUE - REFERENCES IN INVENTORY I

        _

         

      3. Unresolved External References

        The following is a list of external references, which could be thought of as Missing Members. These are collected from the all of the programs for every call, copy, include, exec statements.

        1. Missing References from Job Control

          The following items might not be thought of in the classic definition of missing modules. On the other hand, they have been identified as part of the application by virtue of having been referenced in the associated Job Control Statements. Therefore, any attempt to modify the application source code should include consideration of these elements.

          1 # AL0PMAW3 External

          2 REFERENCE USAG

          3

          115 * IPCP.&IPCTEST..COMMAND.D 2

          116 * IPCP.PROD.LOADLIB 2

          117 * LPW.LPIWELIG.BKUP 7

          118 * LPW.L0180101.AAITAPE 2

          119 * LPW.L0180115.ADJTRECS 2

          120 * LPW.L0180115.DFTRANS 2

          121 * LPW.L0180115.EFTRANS 2

          122 * LPW.L0180115.WCIWIDS 1

          123 * LPW.L0180120.SRTDEFTX 2

          124 * LPW.L0180130.BCOFAUTR 1

          125 * LPW.L0180135.SRTDDFTX 2

          126 * LPW.L0180152.SRTDGRPS 2

          127 * LPW.L0180154.ADJSTMT1 2

          128 * LPW.L0180154.ADJSTMT2 2

          129 * LPW.L0180154.ADJSTMT3 2

          130 * LPW.L0180160.SRTDADJ 2

          131 * LPW.WCIW.PCSMAST 1

          134 * MBRS.PROD.DEDS.ID010605 1

          135 * MBRS.PROD.DEDS.ID010607 1

          136 * MBRS.PROD.DEDS.ID010627 1

          137 * MBRS.PROD.GRPBILLS.EXTER 2

          216 * PGM=MBRM409 1

          225 * SYS2.LINKLIB 2

          226 * WCIW.OPS.CARRIER 1

          227 * Y2.VAL.REM.COPYLIB.COBOL 1

          228 * ZF73C.USER.LOADLIB

          229 ----------------------------------

          230 # 739 RECORDS 124 R

        2. Missing References from Programs

1 # AL0PMAW3 EXTERNAL REFERENCE REPORT DATE: 02/04/99 AND TIME: 16.08 02/04/99

2 REFERENCE USAGE IS USED BY THE FOLLOWING PROGRAMS:

3

4 * 5 CRDCSCMP

5 * 1 CLM033E

97 * BCONRDPV 2 BCON2001

100 * BENMASF 3 SUBDUES MAS205 FRM086

101 * BENMASL 3 MAS205 FRM086 SUBDUES

102 * BENMASS 3 SUBDUES MAS205 FRM086

116 * BILRECS 2 MAS205 FRM345

122 * CANCEL 4 CAS941E CAS948E CALLS

130 * CBLTDLI 81 MBRM400

131 * CNTADRSG 1 MBRM400

152 * COBABORT 5 CPD30974 CPD3097T

174 * CS2BBVIO 1 CS2BIO

188 * DBERRORS 2 DBERABND EDB470

190 * DBNTRY 11 EDB040 EDB300 EDB096 EDB470 EDB180

194 * DUEMAS 4 FRM345 MAS205 FRM086 SUBDUES

195 * DUEMASF 4 SUBDUES FRM345 MAS205 FRM086

196 * DUEMASL 2 FRM086 SUBDUES

197 * DUEMASS 4 SUBDUES FRM345 MAS205 FRM086

285 *+ ILBOABN0 10 FLSTDCL2 EDC550 EDB040 EDB300 EDB096 EDB040 EDB300 EDB49

286 *+ ILBOABN0 10 EDB040 EDB096 EDB470 EDB280 COD7533T EDB120 EDB230 COD75

287 * ILBOABN0 4 EDB180 COD75330 COD7533T

289 * INTRINSIC 6 CONTIF3 GRPPLNIF CONTIF3

297 * LINK 8 UTSDATE BCON2001

298 * LOAD 6 BCON2001

303 * MERGE-FILE 12 CPD30974 CPD3097T CPD30974 CPD3097T CPD30974 CPD3097T CPD30974 CPD30

304 * MERGED-RECORD 4 CPTELMRG CPD30974 CPD3097T

307 * MESTBLAU 2 CALLS WIZ007E

331 * SHDTESLS 3 UTL121 CS2B1201 CS2B0701

333 * SORT 2 CPD30974 CPD3097T

335 * STDDTE 14 CLM105E CLM106E CLM115E CLM116E CLM107E ITS145E CLM117E CALLS

348 * TIEBILS 2 FRM345 FRM086

349 * UNDUES 21 SUBDUES

361 * UTSCALDR 1 UTSDATE

364 * VALUE 2 CRDCSCMP BENOPT

366 * VENMASF 1 FRM086

367 * VENMASS 1 FRM086

368 * WS-CPGM-DUMP 5 SHDDTPD UTL000

369 * WS-CPGM-UTL000 1 BCOCDATE

370 * WS-CPGM-UTL118A 2 SHDDTPD

372 * XCTL 1 BCON2001

374 * ZIPMASF 1 FRM086

375 * ZIPMASL 1 FRM086

376 * ZIPMASS 1 FRM086

377 * 041454 1 EDB096

EDB096

379 --------------------------------------------------------------------------------------------------------

380 # 1660 RECORDS 405 REFERENCES UNIQUE - REFERENCES IN INVENTORY I