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