Impact Analysis Functions
The XML Services CMPONENT/IMP_ANAL/LIST and CMPONENT/XAP_ANAL/LIST have been retired. New services exist as follows:
-
IMPACT BUN LIST
-
IMPACT CMPONENT LIST
-
IMPACT TABLE LIST
IMPACT BUN LIST
This service is used to list information about appl/libtype/baseline correlations. There are three types of queries:
-
BUN01: list entry for a specific BUN (or all BUNs if the BUN input tag is omitted)
-
BUN02: list entry for a specific application and library type
-
BUN03: list all entries for a specific baseline dataset name
IMPACT BUN LIST — Request
The following request supplies only the query type, BUN01. This will produce a list of all the BUNs with their corresponding data set names and library types.
Example XML — IMPACT BUN LIST Request
<?xml version="1.0"?>
<service name="IMPACT">
<scope name="BUN">
<message name="LIST">
<header>
<subsys>3</subsys>
<product>CMN</product>
</header>
<request>
<queryType>BUN01</queryType>
</request>
</message>
</scope>
</service>
Data structure details appear in Exhibit 6-11.
Exhibit 6-11 IMPACT BUN LIST <request> Data Structure
Subtag | Use | Occurs | Data Type & Length | Values & Dependencies |
---|---|---|---|---|
<appl> | Optional | 0 - 1 | String (4), variable | Application name. |
<baseline> | Optional | 0 - 1 | String (44), variable | Baseline repository. |
<bun> | Optional | 0 - 1 | String (8), variable | Baseline Unique Number. |
<libLike> | Optional | 0 - 1 | String (1) | Library like type. |
<libType> | Optional | 0 - 1 | String (3), variable | Library type. |
<queryType> | Required | 1 - 1 | String (5) | Query type. |
IMPACT BUN LIST — Reply
Example XML — IMPACT BUN LIST Reply
<?xml version="1.0"?>
<service name="IMPACT">
<scope name="BUN">
<message name="LIST">
<result>
<bun>00025000</bun>
<appl>ACTP</appl>
<libType>CPS</libType>
<libLike>C</libLike>
<baseline>CMNTP.SERT3.BASE.ACTP.CPS</baseline>
</result>
<result>
<bun>0002501B</bun>
<appl>ACTP</appl>
<libType>CPY</libType>
<libLike>C</libLike>
<baseline>CMNTP.SERT3.BASE.ACTP.CPY</baseline>
</result>
<result>
<bun>00025036</bun>
<appl>ACTP</appl>
<libType>DBR</libType>
<libLike>P</libLike>
<baseline>CMNTP.SERT3.BASE.ACTP.DBR</baseline>
</result>
<result>
<bun>00025051</bun>
<appl>ACTP</appl>
<libType>LCT</libType>
<libLike>K</libLike>
<baseline>CMNTP.SERT3.BASE.ACTP.LCT</baseline>
</result>
.
.
.
<response>
<statusMessage>CMN8700I - LIST service completed</statusMessage>
<statusReturnCode>00</statusReturnCode>
<statusReasonCode>8700</statusReasonCode>
</response>
</message>
</scope>
</service>
Data structure details appear in Exhibit 6-12.
Exhibit 6-12 IMPACT BUN LIST <reply> Data Structure
Subtag | Use | Occurs | Data Type & Length | Values & Dependencies |
---|---|---|---|---|
<appl> | Optional | 0 - 1 | String (4), variable | Application name. |
<baseline> | Optional | 0 - 1 | String (44), variable | Baseline repository. |
<bun> | Optional | 0 - 1 | String (8), variable | Baseline Unique Number. |
<libLike> | Optional | 0 - 1 | String (1) | Library like type. |
<libType> | Optional | 0 - 1 | String (3), variable | Library type. |
IMPACT CMPONENT LIST
This service can be used to list information held in the I/A table about baselined components. This will be mostly used to extract version identifier information (hash tokens, setssi values).
IMPACT CMPONENT LIST — Request
The following requests information for SRS component GNLSRS00 in the ACTP application.
Example XML — IMPACT CMPONENT LIST Request
<?xml version="1.0"?>
<service name="IMPACT">
<scope name="CMPONENT">
<message name="LIST">
<header>
<subsys>3</subsys>
<product>CMN</product>
</header>
<request>
<appl>ACTP</appl>
<libType>SRS</libType>
<component>GNLSRS00</component>
</request>
</message>
</scope>
</service>
Data structure details appear in Exhibit 6-13.
Exhibit 6-13 IMPACT CMPONENT LIST <request> Data Structure
Subtag | Use | Occurs | Data Type & Length | Values & Dependencies |
---|---|---|---|---|
<appl> | Required | 1 - 1 | String (4), variable | Application name. |
<bun> | Optional | 0 - 1 | String (8), variable | Baseline Unique Number. |
<component> | Required | 1 - 1 | String(256), variable | ZMF component name. If component is PDS member, this is member name (max 8 bytes, no qualifiers). If component is HFS file, this is Unix-style long file name, optionally prefixed by path from installation root. |
<currentBaseline> | Optional | 0 - 1 | String (44), variable | Current baseline? (Y/N) |
<libType> | Required | 1 - 1 | String (3), variable | Library type. |
IMPACT CMPONENT LIST — Reply
*Example XML — IMPACT CMPONENT LIST Reply
<?xml version="1.0"?>
<service name="IMPACT">
<scope name="CMPONENT">
<message name="LIST">
<result>
<bun>000250D8</bun>
<appl>ACTP</appl>
<libType>SRS</libType>
<component>GNLSRS00</component>
<currentBaseline>Y</currentBaseline>
<versionId>C8977307000002A3</versionId>
</result>
<response>
<statusMessage>CMN8700I - LIST service completed</statusMessage>
<statusReturnCode>00</statusReturnCode>
<statusReasonCode>8700</statusReasonCode>
</response>
</message>
</scope>
</service>
Data structure details appear in Exhibit 6-14
Exhibit 6-14 IMPACT CMPONENT LIST <reply> Data Structure
Subtag | Use | Occurs | Data Type & Length | Values & Dependencies |
---|---|---|---|---|
<appl> | Required | 1 - 1 | String (4), variable | Application name. |
<bun> | Optional | 0 - 1 | String (8), variable | Baseline Unique Number. |
<component> | Required | 1 - 1 | String (256), variable | Component name. If component is PDS member, this is member name (max 8 bytes, no qualifiers). If component is HFS file, this is Unix-style long file name, optionally prefixed by path from installation root. |
<currentBaseline> | Required | 0 - 1 | String (44), variable | Current baseline. |
<libType> | Required | 1 - 1 | String (3), variable | Library type. |
<versionid> | Required | 1 - 1 | String (16), variable | Version Identifier. |
IMPACT TABLE LIST
Use this service to access impact analysis relationship information. Several types of query are available within this service and the user will have to know which one they wish to use. Current types are:
-
IAQ01: all rows for a top level component name
-
IAQ02: all rows for a top level component name and BUN
-
IAQ03: all rows for a top level component name and BUN and relationship
-
IAQ04: all rows for bottom level component name and relationship
There are further XAPnn query types where knowledge of the BUN is not required. In the descriptions that follow only the component names may be wild carded. All other specified predicates must be fully explicit. If a field is not listed in the description of the query then it plays no part in selection. A number of these queries will overlap in function if a name is fully wildcarded. To use these queries you need to decide which one you want to use. The ISPF dialog functions Q.B and Q.I will use the appropriate query based on the fields provided in the input panel.
-
XAP00:all rows for top component name, relationship and bottom component name
-
XAP01:all rows for top component name, top application, top libtype, relation and bottom component name
-
XAP02:all rows for top component name, relation and bottom component name, bottom appl, bottom libtype
-
XAP03:all rows for top component name, top application, top libtype, relation and bottom component name, bottom appl, bottom libtype
-
XAP04:all rows for top component name, top libtype, relation and bottom component name
-
XAP05:all rows for top component name, relation and bottom component name, bottom libtype
-
XAP06:all rows for top component name, top libtype, relation and bottom component name, bottom libtype
-
XAP07:all rows for top component name, and relation
-
XAP08:all rows for top component name, top application, top libtype and relation
-
XAP09:all rows for top component name, top libtype and relation
-
XAP14:all rows for top component name, top libtype, relation and bottom component name, bottom appl, bottom libtype
-
XAP15:all rows for top component name, top application, top libtype, relation and bottom component name, bottom libtype
IMPACT TABLE LIST — Request
The following requests information for CPY component GNLCPY00.
Example XML — IMPACT TABLE LIST Request
<?xml version="1.0"?>
<service name="IMPACT">
<scope name="TABLE">
<message name="LIST"> <header>
<subsys>3</subsys>
<product>CMN</product>
</header>
<request>
<queryType>XAP00</queryType>
<topLevelComponent>*</topLevelComponent>
<topLevelAppl>*</topLevelAppl>
<topLevelType>*</topLevelType>
<relation>CPY</relation>
<bottomLevelComponent>GNLCPY00</bottomLevelComponent>
</request>
</message>
</scope>
</service>
Data structure details appear in Exhibit 6-13
Exhibit 6-15 IMPACT TABLE LIST <request> Data Structure
Subtag | Use | Occurs | Data Type & Length | Values & Dependencies |
---|---|---|---|---|
<bottomLevelAppl> | Required | 1 - 1 | String (4), variable | Bottom level component application name. |
<bottomLevelBUN> | Optional | 0 - 1 | String (8), variable | Bottom level BUN. |
<bottomLevelComponent> | Optional | 1 - 1 | String(16), variable | Bottom level Component name. |
<bottomLevelType> | Optional | 0 - 1 | String (4), variable | Bottom level library type |
<bottomVerID> | Optional | 0 - 1 | String (16), variable | Bottom level version ID. |
<queryType> | Required | 1 - 1 | String (5) | Query type. |
<relation> | Optional | 1 - 1 | String (3) | Relationship. |
<topLevelAppl> | Optional | 1 - 1 | String (4),variable. | Top level application name. |
<topLevelBUN> | Optional | 1 - 1 | String (8),variable. | Top level BUN. |
<topLevelComponent> | Optional | 1 - 1 | String (256), variable. | Top level component name. |
<topLevelType> | Optional | 1 - 1 | String (3) | Top level library type. |
IMPACT TABLE LIST — Reply
The following requests information for CPY component GNLCPY00.
Example XML — IMPACT TABLE LIST Reply
<?xml version="1.0"?>
<service name="IMPACT">
<scope name="TABLE">
<message name="LIST">
<result>
<topLevelComponent>ACPSRC1A</topLevelComponent>
<topLevelAppl>ACTP</topLevelAppl>
<topLevelType>SRC</topLevelType>
<topLevelBUN>000250BD</topLevelBUN>
<topVerID>0B5DEB4D000004BA</topVerID>
<relation>CPY</relation>
...
<bottomLevelComponent>GNLCPY00</bottomLevelComponent>
<bottomLevelAppl>ACTP</bottomLevelAppl>
<bottomLevelType>CPY</bottomLevelType>
<bottomLevelBUN>0002501B</bottomLevelBUN>
<bottomVerID>0000000000000000</bottomVerID>
</result>
<result>
<topLevelComponent>ACPSRC1A</topLevelComponent>
<topLevelAppl>ACTP</topLevelAppl>
<topLevelType>SRS</topLevelType>
<topLevelBUN>000250D8</topLevelBUN>
<topVerID>0B5DEB4D000004BA</topVerID>
<relation>CPY</relation>
<bottomLevelComponent>GNLCPY00</bottomLevelComponent>
<bottomLevelAppl>ACTP</bottomLevelAppl>
<bottomLevelType>CPY</bottomLevelType>
<bottomLevelBUN>0002501B</bottomLevelBUN>
<bottomVerID>7CD43F6F00000155</bottomVerID>
</result>
.
.
<result>
<topLevelComponent>GNLSRS5C</topLevelComponent>
<topLevelAppl>GENL</topLevelAppl>
<topLevelType>SRS</topLevelType>
<topLevelBUN>000251F2</topLevelBUN>
<topVerID>414E1E1300000244</topVerID>
<relation>CPY</relation>
<bottomLevelComponent>GNLCPY00</bottomLevelComponent>
<bottomLevelAppl>GENL</bottomLevelAppl>
<bottomLevelType>CPY</bottomLevelType>
<bottomLevelBUN>00025135</bottomLevelBUN>
<bottomVerID>7CD43F6F00000155</bottomVerID>
</result>
<response>
<statusMessage>CMN8700I - LIST service completed</statusMessage>
<statusReturnCode>00</statusReturnCode>
<statusReasonCode>8700</statusReasonCode>
</response>
</message>
</scope>
</service>
Data structure details appear in Exhibit 6-16.
Exhibit 6-16 IMPACT TABLE LIST <reply> Data Structure
Subtag | Use | Occurs | Data Type & Length | Values & Dependencies |
---|---|---|---|---|
<bottomLevelAppl> | Optional | 1 - 1 | String (4), variable | Bottom level component application name. |
<bottomLevelBUN> | Optional | 0 - 1 | String (8), variable | Bottom level BUN. |
<bottomLevelComponent> | Optional | 1 - 1 | String(16), variable | Bottom level Component name. |
<bottomLevelType> | Optional | 0 - 1 | String (4), variable | Bottom level library type |
<bottomVerID> | Optional | 0 - 1 | String (16), variable | Bottom level version ID. |
<queryType> | Optional | 1 - 1 | String (5) | Query type. |
<relation> | Optional | 1 - 1 | String (3) | Relationship. |
<topLevelAppl> | Optional | 1 - 1 | String (4),variable. | Top level application name. |
<topLevelBUN> | Optional | 1 - 1 | String (8),variable. | Top level BUN. |
<topLevelComponent> | Optional | 1 - 1 | String (256), variable. | Top level component name. |
<topLevelType> | Optional | 1 - 1 | String (3) | Top level library type. |
<topVerID> | Optional | 1 - 1 | String (16), variable. | Top level version ID. |
The ISPF I/A query function is largely unchanged from the DB2 license version currently in force. It is sometimes difficult to comprehend the difference between the "Bill of Materials" query (Q.B) and the "Impact Analysis" query. Q.B is intended for a top down search, i.e. I know the name of the top level component I want enquire about, now show me its constituent parts (Bill of Materials). The Q.I function is focussed on a bottom up search, i.e. given this particular subcomponent show me all components that reference it. This approach has not changed but will be new for all current non-DB2 license customers.
There have been some minor changes to the functionality. We no longer accept partially wildcarded applications or library types in these queries, they can be fully explicit or omitted (or fully wildcarded).
We no longer attempt to convert applications and library types to BUNs and use those for lookup, we will use the appl/libtype as supplied by the customer (as is) and match against those recorded in the i/a table. If a customer wishes to see all relationships for a shared baseline (in a Q.I query) then they need to leave application and/or library type as fully wildcarded. As a corollary of this, we also no longer display the full list of appl/libtypes which share the same baseline as the component in question.
The preceding XML IMPACT TABLE LIST request is the same query issued by option Q.I from the ISPF interface, as shown below.
Example ISPF Request — Q.I
IMPACT ANALYSIS OF SUBORDINATE COMPONENTS
COMMAND ===>
SPECIFY SEARCH CRITERIA:
Subordinate component name ===> GNLCPY00
Library type ===>
Application ===>
Type of relationship ===> C
SPECIFY RESULTS FILTER CRITERIA:
Superior component name ===> *
Library type ===> *
Application ===> *
Press ENTER to process; Enter END command to exit.
Example ISPF Reply — Q.I
Impact Analysis Results Selection List Row 1 to 11
Command ===> Scroll ===>
List of components which reference
Appl:Type * : * Name GNLCPY00
with a relationship of COPYBOOK
which satisfy these criteria
Appl:Type * : * Name *
Found in
Appl:Lib Component Name
_ ACTP:SRC ACPSRC1A
_ ACTP:SRS ACPSRC1A
_ GENL:SRC GNLSRC1A
_ GENL:SRS GNLSRC1A
_ ACTP:SRS GNLSRS00
_ GENL:SRS GNLSRS00
_ GENL:SRS GNLSRS1B
_ GENL:SRS GNLSRS1C
_ GENL:SRS GNLSRS5A
_ GENL:SRS GNLSRS5B
_ GENL:SRS GNLSRS5C
**************************** Bottom of data ***************************