When performing maintenance on existing COBOL systems, accurate documentation of
how data elements are used across the system can reduce the guess-work involved
in making changes to source code. Proper documentation also can aid in meeting a
company’s DP auditing requirements.
DCD employs two major components to produce COBOL documentation, either for one
program at a time or for an entire system of programs. The components: a dozen
program-based reports in an Alternate Compile Listing Facility, and fifteen
system oriented reports in an Other COBOL Reports Facility. In addition, DCD
generates valuable information through its JCL PROC Analysis Facility and its
eleven CASE Files. Here are the COBOL Reports you will have at your finger tips
for COBOL data correlation and COBOL document;
SPF (System Productivity Facility) Panels SPF Panels are designed to allow the customer to maneuver through and understand
DCD software features with as much flexibility as possible. A fuller
understanding of some functionalities are more easily known with the
introduction of the panels. With SPF Panels, the customer does not have to work
with complex JCL job streams. The JCL is created for the customer based on
responses through a sequence of panel displays. Comprehensive error messages
will be displayed to the user in the event that some responses are incorrect.
This speeds up the job submission process by reducing JCL errors and wasted CPU
time. The most important benefit of using SPF Panels is that it is a time saver. The
time saved, due to an easier submission process, can now be converted into
performing other important tasks that directly relate to the project.
Source Listing Report The Source Listing \report lists the source program in its original form and
includes added COBOL narrative generated by DCD. All correlated data, detailed
information for every file, record, data item, and branch logic is printed out
opposite each line of code on the source listing.
CALL Statements Report The CALL Statements report shows all ENTRYs into a program and CALLs out of a
program in a concise report that allows for quick and easy analysis of CALL
activity.
COPY Statements Reports
The COPY Statements Report gives a listing of all COPY members used within the
program and for CICS, DL1 & DB2
programs fives a listing of all INCLUDE members.
Each COPY statement is listed on one line. Additional information associated
with the COPY statement such as SUPPRESS,
the REPLACING clause and the clause OF LIBRARY-NAME have their presence
indicated as shown in Exhibit 9. The division
where the COPY statement resides is also shown, as is the sequence number of
where the COPY statement may be found.
Figurative Constant Reports This report lists occurrences of each Figurative Constant by sequence number of
its location(s) in the program. Figurative Constants include the following:
ZERO(S) (ES), SPACE(S), HIGH-VALUE(S), LOW-VALUE(S), and QUOTE(S).
Literals Report This report lists in alphanumeric order, all occurrences of ALL literals,
non-numeric literals within quotes, and numeric literals,
along with the sequence numbers indicating their location in the program.
Special Registers Report This report lists all occurrences of Special Registers. Special Registers are
compiler-generated areas that may be used in conjunction with special COBOL
features.
Data Division Condensed Cross Reference Report The Data Division Condensed Cross Reference report provides an alphabetic
listing of data names within the Data Division.
Procedure Division Condensed Cross Reference Report The Procedure Division Condensed Cross Reference report provides an alphabetic
listing of paragraph and section names within the Procedure Division.
File Description Layout Report Layout Documentation provides automatic generation of layouts with several
options for custom building. The Linkage Section and Table of Contents are also
available in this Layout report but are not shown here. The Table of Contents
shows the COBOL program-id, the section where the record name is located, the
record name, and the page number where the record layout starts. The Data
Division narrative is only valid for a single COBOL program. If multiple COBOL
programs are used as input, the narrative will only appear alongside the first
COBOL program.
Working Storage Layout Report Layout Documentation provides automatic generation of layouts with several
options for custom building. The Linkage Section and Table of Contents are also
available in this Layout report but are not shown here. The Table of Contents
shows the COBOL program-id, the section where the record name is located, the
record name, and the page number where the record layout starts. The Data
Division narrative is only valid for a single COBOL program. If multiple COBOL
programs are used as input, the narrative will only appear alongside the first
COBOL program.
System Record Analysis Report The System Record Analysis is a listing of one or more selected records with
flags indicating direct or indirect data movement
and comparison on every field within the record. This report is sequenced by
byte positions.
Explanation of S (Set), U (Used), and T (Tested) flags:
S - Data was moved into this field or this field was in some way modified. U - Data was moved out of this field or this field was used in some way to
modify another field. T - The field was tested or compared to another field.
This report, used in conjunction with the System Data Name Cross Reference
(shown next) will help the programmer audit the changes being made to data
fields. In the previous highlighted example, the programmer can see that
WSINFORMATION has been (S)ET and (U)SED. The programmer can then go to the
System Data Name Cross Reference and, using the data name and program-id, locate
the narrative that describes how the data name has been processed throughout the
program. In the example shown on the next page, the field WS-INFORMATION in the
program DCDLOGIC was SET by the statement MOVE
SPACES TO # (1150), and USED by the statement MOVE # TO PD-INFORM @299
(1155,1237). This shows how data names are being processed by the programs
selected to be analyzed for these reports.
The indirect flags (indicated by SI and UI) show that a field, while involved,
was not directly involved in the Procedure Division statement. WS-INFORMATION is
a group data name for WS-CODE-NAME and WS-EMPLOYEE-FIRST-NAME, and is changed by
MOVE SPACES TO # (1150). This statement has an indirect effect to WS-CODE-NAME
and WS-EMPLOYEE-FIRST-NAME which, on the System Record Analysis Report, shows it
was indirectly set and the MOVE # TO PD-INFORM @299 (1155,1237) shows it was
indirectly used.
System Data Name Cross Reference The System Data Name Cross Reference produces a comprehensive cross reference
for all data names in all the programs used as input for the report. This report
is in alphabetic sequence by data name and program-id.
Copy Analysis Report The COPY Analysis Report is a listing of COPY member usage in two report
sequences. The first report is in alphabetic sequence by program-id. The second
report is in alphabetic sequence by COPY member.
01 Record Report The 01 Record Report is a listing of 01 records with their lengths in two report
sequences. The Length sequence is in primary sequence by record length and the
Entry sequence is in primary sequence by program-id.
Verb Analysis Report The Verb Analysis Report is a listing of the usage of Procedure Division verbs.
This report is in alphabetic sequence by verb, program-id and sequence number.
System Paragraph Cross Reference Report The System Paragraph Cross Reference Report is a list of paragraph and section
names. This report is in alphabetic sequence by paragraph name.
CALL Hierarchy Report The CALL Hierarchy Report is a list of programs that call other programs. This
report is in sorted order by program and shows the total number of calls made to
any one program.
JCL Proc Analysis - DSNAME Sequence This report shows the usage of data sets in a JCL PROC in alphabetic sequence by
DSNAME.
JCL Proc Analysis - DDName Sequence This report provides the same information categorized instead by DDNAME to
facilitate identification of the DSNAME of a particular file within the program.
JCL Proc Analysis - Unsorted Sequence This report provides information within the JCL in unsorted sequence.
JCL Proc Analysis - Job Name Sequence
This report provides PROCs within the JCL in JOB-NAME sequence.