About asterisk marking by Indirect References of the ACM Query Facility
search cancel

About asterisk marking by Indirect References of the ACM Query Facility

book

Article ID: 382588

calendar_today

Updated On:

Products

Endevor

Issue/Introduction

Some Copybooks are included in the COBOL program.
They were Added to Stage-1(U) and Generated. And, they were then Moved to Stage-2(Q).
Then, checked the components in the ACM Query panel, but the asterisks in Indirect References did not show up.

---------------------------  ELEMENT SELECTION LIST  ------- Row 1 to 10 of 10
COMMAND ===>                                                  SCROLL ===> PAGE
                                                                               
 Enter line command XE to display full element name                            
                                                                       MORE==>
   ELEMENT --   TYPE    NS ENVIRON  S SYSTEM   SUBSYS   VVLL PROCGRP  CUR DTE 
   COBOL01      COBOL      TESTENV  Q FINANCE  ACCTREC  0100 CLENBL   ddmmmyy  
   COPY01       COPY       TESTENV  Q FINANCE  ACCTREC  0100 *NOPROC* ddmmmyy  
   COPY02       COPY       TESTENV  Q FINANCE  ACCTREC  0100 *NOPROC* ddmmmyy  
   COPY03       COPY       TESTENV  Q FINANCE  ACCTREC  0100 *NOPROC* ddmmmyy  
******************************* Bottom of data ********************************


---------------------------------  ACM QUERY  ---------------------------------
                                                                               
OPTION  ===> _________________________________________________________         
                                                                               
BLANK - Perform Element query           C - Perform Comment query              
    M - Perform Member query            O - Perform Object query               
                                                                               
ELEMENT/MEMBER ===> COBOL01                                                    
                                                                               
ELEMENT Query Information:     Query Options:                                  
  ENVIRONMENT ===> TESTENV     Where-used/Components used  ===> COM (WHE/COM)  
  SYSTEM      ===> *           Foreground/Batch Mode =========> F   (F/B)      
  SUBSYSTEM   ===> *           Create GENERATE SCL   =========> N   (Y/N)      
  TYPE        ===> *           Exclude circular references ===> N   (Y/N)      
  STAGE NBR   ===> * (1/2/*)   Exclude indirect references ===> N   (Y/N)      
                               Exclude related  references ===> N   (Y/N)      
MEMBER Query Information:                                                      
  DSNAME      ===> *                                                           
                                                                               
COMMENT/OBJECT Query Information:                                              


********************************* Top of Data **********************************
16:30:41  ACMQ203I     LIST USED COMPONENTS FOR                                 
16:30:41  ACMQ204I        ELEMENT  COBOL01    ENVIRONMENT   TESTENV             
16:30:41  ACMQ205I        SYSTEM   *          SUBSYSTEM     *                   
16:30:41  ACMQ206I        TYPE     *          STAGE NUMBER  *                   
16:30:41  ACMQ408I     OPTIONS                                                  
    LVL    ELEMENT      TYPE       ENVIRON    SYSTEM     SUBSYS     STG         
                                                                                
     1     COBOL01      COBOL      TESTENV    FINANCE    ACCTREC     2          
     2     COPY01       COPY       TESTENV    FINANCE    ACCTREC     1 <<= Why is there no asterisk?
     2     COPY02       COPY       TESTENV    FINANCE    ACCTREC     1 <<= Why is there no asterisk?
     2     COPY03       COPY       TESTENV    FINANCE    ACCTREC     1 <<= Why is there no asterisk?
******************************** Bottom of Data ********************************


---------------------------------  ACM QUERY  ---------------------------------
                                                                               
OPTION  ===> _________________________________________________________         
                                                                               
BLANK - Perform Element query           C - Perform Comment query              
    M - Perform Member query            O - Perform Object query               
                                                                               
ELEMENT/MEMBER ===> COPY0*                                                     
                                                                               
ELEMENT Query Information:     Query Options:                                  
  ENVIRONMENT ===> TESTENV     Where-used/Components used  ===> WHE (WHE/COM)  
  SYSTEM      ===> *           Foreground/Batch Mode =========> F   (F/B)      
  SUBSYSTEM   ===> *           Create GENERATE SCL   =========> N   (Y/N)      
  TYPE        ===> *           Exclude circular references ===> N   (Y/N)      
  STAGE NBR   ===> * (1/2/*)   Exclude indirect references ===> N   (Y/N)      
                               Exclude related  references ===> N   (Y/N)      
MEMBER Query Information:                                                      
  DSNAME      ===> *                                                           
                                                                               
COMMENT/OBJECT Query Information:                                              


********************************* Top of Data **********************************
16:29:48  ACMQ203I     LIST USING COMPONENTS FOR                                
16:29:48  ACMQ204I        ELEMENT  COPY0*     ENVIRONMENT   TESTENV             
16:29:48  ACMQ205I        SYSTEM   *          SUBSYSTEM     *                   
16:29:48  ACMQ206I        TYPE     *          STAGE NUMBER  *                   
16:29:48  ACMQ408I     OPTIONS                                                  
    LVL    ELEMENT      TYPE       ENVIRON    SYSTEM     SUBSYS     STG         
                                                                                
     1     COPY01       COPY       TESTENV    FINANCE    ACCTREC     1 <<= Why is there no asterisk?
     2     COBOL01      COBOL      TESTENV    FINANCE    ACCTREC     2          
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++         
     1     COPY02       COPY       TESTENV    FINANCE    ACCTREC     1 <<= Why is there no asterisk?
     2     COBOL01      COBOL      TESTENV    FINANCE    ACCTREC     2          
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++         
     1     COPY03       COPY       TESTENV    FINANCE    ACCTREC     1 <<= Why is there no asterisk?
     2     COBOL01      COBOL      TESTENV    FINANCE    ACCTREC     2          
******************************** Bottom of Data ********************************

Environment

Release : ALL

Resolution

Indirect References means a Sub-Program.
If you are not using a Sub-Program, the asterisk will not appear in ACMQ reports.

Indirect References
An indirect reference is an element whose name and type are the same as a previously found element, but whose location is different. Indirect relationships can result when an element is moved, but not generated, using a Move processor. By default, indirect references appear in ACMQ results and are marked by an asterisk (*) following the level number.
The location of the indirect reference must be mapped with its model (the previously found element). For where-used queries, indirect references are taken from locations lower in the map from their model. For components used queries, indirect references are taken from locations higher in the map from their model.
The purpose of indirect references is to find relations that may have been lost while using Move processors. An indirect reference that adds no new relations to the ACMQ report, other than itself, is not listed on the ACMQ report.

Example: Where-used Query and Indirect References
Suppose you perform a where-used query for an element named COPYA. Assume the following:
* COPYA is an input component of an element named PGMB, type COBOL.
* PGMB is an input component of an element named PGMC, type LNK.
* COPYA, PGMB, and PGMC exist in the same environment (ENV1) and stage (STG 1).

The output for a where-used query on COPYA would be as follows:

LVL ELEMENT  TYPE     ENVIRON SYSTEM   SUBSYS   STG
 1  COPYA    CPY      ENV1    ..       ..        1
 2  PGMB     COBOL    ENV1    ..       ..        1
 3  PGMC     LNK      ENV1    ..       ..        1


Suppose that all three of the elements listed in the previous report are moved to the next stage (STG 2) using a Move processor, meaning that the component list data has been copied, but not rebuilt by a Generate processor. In this case, a where-used query on COPYA would result in the following output:

LVL ELEMENT  TYPE     ENVIRON SYSTEM   SUBSYS   STG
 1  COPYA    CPY      ENV1    ..       ..        1
 2  PGMB     COBOL    ENV1    ..       ..        2
 2* PGMB     COBOL    ENV1    ..       ..        1
 3* PGMC     LNK      ENV1    ..       ..        2

 

The first of the two elements that are marked with an asterisk (*) has the same name and type as an element that is known to contain direct references to COPYA. However, because this element has been moved to another Endevor location without being rebuilt, ACMQ cannot be sure that it still contains references to COPYA. Therefore, ACMQ treats this element as having only an indirect reference to the object of the query. In the report output, these indirect references are marked with an asterisk and are displayed after the elements that definitely contain direct references to your search.
Note also that elements that contain a reference to an indirect reference are themselves considered indirect references, unless they also contain a direct reference to your search, or to an element that directly references your search.

The following notes apply to this example:
* COPYA has no component list. Thus, when it is moved to the next stage, no component list changes take place, nor do any ACMQ changes take place. Accordingly, ACMQ continues to reference it in ENV1 / STG 1.
* When PGMB COBOL is moved to the next stage, its component list is copied and becomes the component list of PGMB COBOL in STG 2. However, because no changes have been made to the list (other than copying it), the reference in PGMB COBOL in STG 2 to COPYA remains. ACMQ then determines that PGMB COBOL in ENV1 / STG 1 is an indirect reference because it has the same element name and type as PGMB COBOL in ENV1 / STG 2.
* PGMC LNK in ENV1 / STG 1 had a reference to PGMB COBOL in ENV1 / STG 1. When it was moved, it underwent the same changes as PGMB COBOL; thus, PGMC LNK in ENV1 / STG 2 continues to reference PGMB COBOL in ENV1 / STG 1. Because PGMC LNK refers to an indirect reference (PGMB COBOL in ENV1 / STG 1), ACMQ considers it to be an indirect reference.