Skip to content

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).

  1. Bring up the Component Bill Of Materials panel (CMNIMPBM) by selecting option Q.B from the Primary Option Menu.

  2. 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
    
  3. 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.)

  4. 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).

  1. Bring up the Impact Analysis of Subordinate Components panel (CMNIMPSU) by selecting option Q.I from the Primary Option Menu.

  2. 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.

  3. 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.

  4. 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).

  1. Bring up the Component Bill Of Materials panel (CMNIMPBM) by selecting option Q.B from the Primary Option Menu.

  2. 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.

  3. 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.

  4. 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).

  1. Bring up the Impact Analysis of Subordinate Components panel (CMNIMPSU) by selecting option Q.I from the Primary Option Menu.

  2. 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
    
  3. 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.

  4. 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.