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 ********************************
Release : ALL
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.