RIPPLE-TRAC™

 

SOURCE CODE MULTI LEVEL EXPLOSION BY MODULE EXAMPLE 1

 

 

MODULE

TYPE

PROJECT

BACKREF

COMPONENT

NAME

COMPONENT

DESCRIPTION  

BRULES

C

COPY

XDCOMNC

 

BRULES

C

COPY

XDLMID2C

 

BRULES

C

COPY

XDLMIDC2

 

BRULES

C

COPY

RP2034W

 

BRULES

&RP2034W

..NO COMPONENTS

­

 

BRULES

C

COPY

RP3300W

 

BRULES

&RP3300W

..NO COMPONENTS

 

BRULES

C

COPY

RP3300R

 

BRULES

&RP3300R

..NO COMPONENTS

 

BRULES

C

COPY

RPSTATE

 

BRULES

&RPSTATE

..NO COMPONENTS

 

BRULES

C

COPY(P)

RP2034P

 

BRULES

&RP2034P

..NO COMPONENTS

 

BRULES

C

COPY(P)

RP3300P3

 

BRULES

&RP3300P3

..STATIC CALL

XD2137

 

BRULES

&RP3300P3

..STATIC CALL

XD2137

 

BRULES

&RP3300P3

..STATIC CALL

XD2137

 

BRULES

&RP3300P3

..STATIC CALL

ILBOABN0

force an abend and obtain a system dump.

 

 

This report shows all the components that make up the BRULES module.

 

MODULE                        = The module name.

TYPE                            = The type of component ‘C’ for copy or ‘I’ for include.

PROJECT                       = The project this component is assigned to. (none)

BACKREF                       = The backward reference to the copybook that may have an

                                      argument that was requested. In this case ‘..NO COMPONENTS’

                                      indicates that no arguments were found in this copybook.

 

                                      NOTE: If the BACKREF column is blank indicates the

                                      ARGUMENT is in the source code and not imbedded, hence no

                                      ‘..’ prefix on component name.

 

COMPONENT NAME         = The type of component.

 

             COPY               = WORKING STORAGE COPYBOOK

             COPY(P)           = PROCEDURE DIVISION COPYBOOK

             ..STATIC CALL   = CALL from within a PROCEDURE

   DIVISION COPYBOOK ‘RP3300P3’        

                                                         

COMPONENT                  = The actual component name.

DESCRIPTION                 = Component description

   (Requires entry in METADATA repository).


 

SOURCE CODE MULTI LEVEL EXPLOSION BY MODULE EXAMPLE 2

 

 

MODULE

TYPE

PROJECT

BACKREF

COMPONENT NAME

COMPONENT

DESCRIPTION

RT7894*

C

COPY

PROCESS

MEDICAL CODES

RT7894*

C

COPY

RT001

CODE ABREV

RT7894*

&RT001

..NO COMPONENTS

­

RT7894*

C

COPY

RT002

NEW MEDICAL CODE

RT7894*

&RT002

..NO COMPONENTS

RT7894*

C

COPY

RT003

OLD MEDICAL CODE

RT7894*

F

PROJECT A

&RT003

..

DATE_DISABLED

THE DATE THE PERSON BECAME DISABLED

RT7894*

C

 

COPY

RT004

RT7894*

&RT004

..NO COMPONENTS

RT7894*

I

INCLUDE

SQLCA

SQL COMMUNICATIONS AREA

RT7894*

T

PAYMENTS

PAYMENTS_SERVICES

PAY SERVICES

RT7894*

STATIC CALL

UABEND

USER ABEND ROUTINE

RT7894*

T

TEMPORARY TABLE

RTTEMP1

MEDICAL TRIALS

RT7894*

T

TEMPORARY TABLE

RTTEMP1

MEDICAL TRIALS

RT7894*

STATIC CALL

DSNTIAR

CONVERT SQL RETURN CODE TO CHARACTER STRING

RT7894*

T

TEMPORARY TABLE

RTTEMP1

MEDICAL TRIALS

 

 

This report shows all the components that make up the RT7894* module.

 

MODULE                        = The module name.

TYPE                            = The type of component ‘C’ for copy or ‘I’ for include,

   ‘F’ for Field, ‘T’ for table.

PROJECT                       = The project this component is assigned to.

                                      DATE_DISABLED belongs to PROJECT A.

                            

Field ‘DATE_DISABLED’ and copybook ‘RT004’ are used in project A. When sorted by project, you can view cross project concerns.

 

BACKREF                       = The backward reference to the copybook that may have an

   argument that was requested. In this case ‘..NO COMPONENTS’

   indicates that no arguments were found in this copybook.

 

NOTE: If the BACKREF column is blank indicates the ARGUMENT is in the source code and not imbedded inside a copybook, hence no ‘..’ prefix on component name. Only the component you asked for in the arguments list will show. We asked for date_disabled, so copybook RT003 got exploded. The two periods indicate this. The backward reference will repeat for every component requested.

 

COMPONENT NAME         = The type of component.

   COPY                         = WORKING STORAGE COPYBOOK

  ..STATIC CALL              = CALL from within the PROCEDURE DIVISION

 

COMPONENT                  = The actual component name.

DESCRIPTION                 = Component description

   (Requires entry in METADATA repository).

 

If  type has no value, then component name describes the component. See static call to DSNTIAR.

 

 

SOURCE CODE MULTI LEVEL IMBEDDED EXPLOSION BY MODULE EXAMPLE 3

 

MODULE

TYPE

PROJECT

BACKREF

COMPONENT

 NAME

COMPONENT

DESCRIPTION

RP0483#

C

COPY

RP0483M

 

RP0483#

C

&RP0483M

..COPY

RP04711

 

RP0483#

C

&RP0483M

..COPY

RP04871

 

RP0483#

C

&RP0483M

..COPY

RP04831

 

 

The above example is a copy within a copy.

 

In the source code you see COPY RP0483M, in RIPPLE-TRAC you see the exploded copybooks RP04711, RP04871 and RP04831 that are within copybook RP0483M.

 

SOURCE CODE MULTI LEVEL EXPLOSION BY MODULE EXAMPLE 4

 

MODULE

TYPE

PROJECT

BACKREF

COMPONENT NAME

COMPONENT

DESCRIPTION

VS0704

I

INCLUDE

VS0704F

VS0704

&VS0704F

..NO COMPONENTS

­

VS0704

I

INCLUDE

VS07041

VS0704

&VS07041

..NO COMPONENTS

VS0704

I

INCLUDE

SQLCA

VS0704

T

RP SOURCE

RIXCLMWT

CLAIM

VS0704

T

RP SOURCE

RIXCLMWT

CLAIM

VS0704

T

RP SOURCE

RIXNTLWT

NOTE LINE

VS0704

F

PROJECT B

ID_NOTE

VS0704

F

PROJECT A

ID_NOTE

VS0704

T

RP SOURCE

RIXPRCWT

PRODUCT/CLAIM

VS0704

T

RP SOURCE

RIXCRGWT

CUSTOMER ORGANIZATIONAL UN

VS0704

T

RP SOURCE

RIXCTRWT

CONTRACT

VS0704

T

RP SOURCE

RIXADRWT

ADDRESS

VS0704

T

RP SOURCE

RIXPERWT

PERSON

 

At this point you should be able to decipher module VS0704 explosion. J

 

Return to Mainframes: Analyzing IBM legacy systems