Use Case Scenarios
The use cases in this section illustrate how to use the Query Impact and Query BofM functions to answer questions about the effect of changes you want to make to application components.
What copybooks are contained in a source component?
You want to change the source code for program GNLSRC1A. You want to know what copybooks are included in the source code because you might have to change them too.
Use the Query Bill of Materials function to list like-copy components (subordinate components) that are referenced in like-source component GNLSRS1... (a superior component).
-
Bring up the Component Bill Of Materials panel (CMNIMPBM) by selecting option Q.B from the Primary Option Menu.
-
Fill in the Component Bill Of Materials panel (CMNIMPBM) as follows.
CMNIMPBM Component Bill of Materials Command ===> __________________________________________________ Specify search criteria: Component name . . . . . . GNLSRC1A + Library type . . . . . . . SRC Application . . . . . . . GENL Type of relationship . . . COPYBOOK Short or Long form . . . . L Enter "/" to select option: __ Mixed case
-
Press Enter to display the Bill of Materials Results Selection List panel (CMNIMPB1).
CMNIMPB1 Bill of Materials Results Selection List Row 1 to 1 of 1 Command ===> ___________________________________________ Scroll ===> CSR List of components with Name . . . . GNLSRC1A + Appl:Type . . GENL : SRC Relation . . COPYBOOK Component Name Found in Appl:Libtype (common baselines) + GNLSRC1A GENL:SRC ******************************* Bottom of data ********************************
This panel lists one component with name GNLSRC1A in library type SRC in application GENL. (More components might have been listed if you had used a pattern for the Component Name or if you had left Library type or Application blank.)
-
On the Bill of Materials Results Selection List panel (CMNIMPB1), type S in the line command for component and press Enter to display the Subordinate Component List panel (CMNIMPD4).
CMNIMPD4 Subordinate Component List Row 1 to 4 of 4 Command ===> _________________________________________ Scroll ===> CSR Superior Component Name . GNLSRC1A + Application:Type . . . . GENL:SRC Relationship . . . . . . COPYBOOK Subordinate Components Found in Appl:Libtype + GNLCPY00 GENL:CPY GNLCPY1A GENL:CPY GNLCPY1B GENL:CPY GNLCPY1X GENL:CPY ******************************* Bottom of data ********************************
This panel lists four like-copy components that are referenced in like-source component GNLSRC1A.
What source components contain a particular copybook?
You want to change copybook GNLCPY00, which is in the baseline library for library type CPY in application GENL. You want to know what source components include the copybook because you might have to change them too. (You must at least recompile those source components.)
Use the Query Impact function to see what like-source components (superior components) reference like-copy component GNLCPY00 (a subordinate component).
-
Bring up the Impact Analysis of Subordinate Components panel (CMNIMPSU) by selecting option Q.I from the Primary Option Menu.
-
Fill in the Impact Analysis of Subordinate Components panel (CMNIMPSU) as follows:
CMNIMPSU Impact Analysis of Subordinate Components Command ===>___________________________________________________ Specify search criteria: Subordinate component name . . . GNLCPY00 + Library type . . . . . . . . . . CPY Application . . . . . . . . . . .GENL Type of relationship . . . . . . C Specify results filter criteria: Superior component name . . . . ._______________________________+ Library type . . . . . . . . . . ________ Application . . . . . . . . . . ._________ Short or Long form . . . . . . . L Enter "/" to select: __ Mixed case
Do not specify any Results Filter Criteria because you want to see all like-source results.
-
Press Enter to display the Impact Analysis Results Selection List panel (CMNIMPI1).
CMNIMPI1 I/A Results Selection List Row 1 to 7 of 7 Command ===> _____________________________________ Scroll ===> CSR Components which reference: Appl: GENL Type: CPY Rel: COPYBOOK Name: GNLCPY00 + and satisfy these criteria: Appl: * Type: * Name: * + Component Name Found in Appl:Libtype (common baselines) + GNLSRC1A GENL:SRC GNLSRS00 GENL:SRS GNLSRS1B GENL:SRS GNLSRS1C GENL:SRS GNLSRS5A GENL:SRS GNLSRS5B GENL:SRS GNLSRS5C GENL:SRS ******************************* Bottom of data ********************************
...
This panel lists all like-source components that reference the selected like-copy component.
-
The Query Impact function has answered your original question, but if you want to see what other copybooks are referenced in component listed on the Impact Analysis Results Selection List panel, type S in the line command for that component and press Enter to display the Subordinate Component List panel (CMNIMPD4).
CMNIMPD4 Subordinate Component List Row 1 to 4 of 4 Command ===> ____________________________________ Scroll ===> CSR Superior Component Name . GNLSRC1A + Application:Type . . . . GENL:SRC Relationship . . . . . . COPYBOOK Subordinate Components Found in Appl:Libtype + GNLCPY00 GENL:CPY GNLCPY1A GENL:CPY GNLCPY1B GENL:CPY GNLCPY1X GENL:CPY ******************************* Bottom of data ********************************
Notice that you have arrived at the same result as in use case scenario What copybooks are contained in a source component?.
What subprograms are statically linked in a load module?
You want to change a main program (component name) which is statically link edited and baselined in library type LOD in the selected application. You want to know what subprograms are included in the selected GNLSRC1A composite load because you might have to change them too.
Use the Query Bill of Materials function to list subprogram load modules (subordinate components) that are statically linked in the composite load component (a superior component).
-
Bring up the Component Bill Of Materials panel (CMNIMPBM) by selecting option Q.B from the Primary Option Menu.
-
Fill in the Component Bill Of Materials panel (CMNIMPBM) as follows.
CMNIMPBM Component Bill of Materials Command ===> _____________________________________________ Specify search criteria: Component name . . . . . . GNLSRC1A + Library type . . . . . . . * Application . . . . . . . * Type of relationship . . . SUBROUTINE Short or Long form . . . . L Enter "/" to select option: __ Mixed case
Leave Library type and Application blank to see if component name is used in any other library type and application.
-
Press Enter to display the Bill of Materials Results Selection List panel (CMNIMPB1).
CMNIMPB1 Bill of Materials Results Selection List Row 1 to 1 of 1 Command ===> ____________________________________________ Scroll ===> CSR List of components with Name . . . . GNLSRC1A + Appl:Type . . * : * Relation . . SUBROUTINE Component Name Found in Appl:Libtype (common baselines) + __GNLSRC1A GENL:LOD ******************************* Bottom of data ********************************
...
This panel lists selected component in library type LOD in application GENL.
Note
The named component can be used in different library types in different applications. The baseline libraries may not be shared across applications and there will be no indication whether the content of the components are the same in the two applications.
-
On the Bill of Materials Results Selection List panel (CMNIMPB1), type S in the line command for component name GNLSRC1A in application GENL and press Enter to display the Subordinate Component List panel (CMNIMPD4).
CMNIMPD4 Subordinate Component List Row 1 to 4 of 4 Command ===> _____________________________________ Scroll ===> CSR Superior Component Name . GNLSRC50 + Application:Type . . . . GENL:LOD Relationship . . . . . . SUBROUTINE Subordinate Components Found in Appl:Libtype + GNLSRS00 GENL:LOS GNLSRS5A GENL:LOS GNLSRS5B GENL:LOS GNLSRS5C GENL:LOS ******************************* Bottom of data ********************************
This panel lists Subordinate component(s) in like-NCAL library type LOS that is statically linked in composite like-load selected Superior component.
What load modules contain a particular statically linked subprogram?
You want to change common subprogram GNLSRS00 in application GENL. The like-NCAL load for this program in the baseline library for library type LOS. You want to know what statically linked load modules include the subprogram because you might have to change them too. (You must at least relink those composite load modules.)
Use the Query Impact function to see what statically linked composite load components (superior components) include subprogram load GNLSRS00 (a subordinate component).
-
Bring up the Impact Analysis of Subordinate Components panel (CMNIMPSU) by selecting option Q.I from the Primary Option Menu.
-
Fill in the Impact Analysis of Subordinate Components panel (CMNIMPSU) as follows. Leave the results filter criteria blank to show all results.
CMNIMPSU Impact Analysis of Subordinate Components Command ===> ____________________________________________________ Specify search criteria: Subordinate component name . . . GNLSRS00 + Library type . . . . . . . . . . LOS Application . . . . . . . . . . GENL Type of relationship . . . . . . SUBROUTINE Specify results filter criteria: Superior component name . . . . . * + Library type . . . . . . . . . . * Application . . . . . . . . . . . * Short or Long form . . . . . . . L Enter "/" to select: __ Mixed case
-
Press Enter to display the Impact Analysis Results Selection List panel (CMNIMPI1).
CMNIMPI1 I/A Results Selection List Row 1 to 2 of 2 Command ===> __________________________________________ Scroll ===> CSR Components which reference: Appl: GENL Type: LOS Rel: SUBROUTINE Name: GNLSRS00 + and satisfy these criteria: Appl: * Type: * Name: * + Component Name Found in Appl:Libtype (common baselines) + GNLSRC1A GENL:LOD GNLSRC50 GENL:LOD ******************************* Bottom of data ********************************
This panel lists two composite like-load components that contain like-NCAL component GNLSRS00.
Note
Notice that the composite like-load components are in baseline libraries for various library types in various applications. In this scenario, GENL subprogram GNLSRS00 was included in builds for these composite load components by using participating packages.
-
The Query Impact function has answered your original question, but if you want to know what subprogram load modules are statically linked in component GNLSRC1A listed on the Impact Analysis Results Selection List panel, type S in the line command for that component and press Enter to display the Subordinate Component List panel (CMNIMPD4).
CMNIMPD4 Subordinate Component List Row 1 to 3 of 3 Command ===> _________________________________________ Scroll ===> CSR Superior Component Name . GNLSRC1A + Application:Type . . . . GENL:LOD Relationship . . . . . . SUBROUTINE Subordinate Components Found in Appl:Libtype + GNLSRS00 GENL:LOS GNLSRS1B GENL:LOS GNLSRS1C GENL:LOS ******************************* Bottom of data ********************************
This panel shows you that load module GNLSRC1A contains three statically linked subprograms, GNLSRS00, GNLSRS1B and GNLSRS1C from application GENL.