Calling chains
Perspective | ARCAD Observer |
Access | Server > Applications > Application Name > Repository |
ARCAD Observer allows you to navigate all the dependencies of programs and other components in your application.
For a given program:
- Calling
- The programs that call this program.
- Called
- The programs that are called by this program.
- Descending
- The program's called program or the descendants of one of its called programs.
- Ascending
- The program's calling program or the ascendants of one of its calling programs.
- Final ascending
- A program with no calling program.
- Final descending
- A program with no called program.
- Level
- The generation number included between this program and one of its ascendants (ascendance level) or one of its descendants (descent level).
- Calling chain
- A multi-level hierarchical view of calls between programs.
- Branch
- A group made up of a component and all of its descendants.
Follow the subsequent steps to launch the call chain analysis.
Step 1 To display a program's call chain, right-click on the item in the Components view and select Calling chain > Programs > ...
Step 2 Select the types of calling chain.
- Ascending Chains
- This chain shows all calling programs for a given program, up to the final ascendants or up to a defined ascendance level.
- Descending Chains
- This chain shows all called programs for a given program, down to the final descendants or down to a defined descent level.
- Ascending / Descending Chains
- This chain shows the ascending or descending chain for a given program.
Result The call chain analysis result view is displayed
Call chains can be produced using several points of entry. To do this, select a number of components before launching the calling chain analysis.
The Query level information panel contains information on the analyzed element’s owner application and on the query level.
The Information on source element panel contains information about the selected component.
In the call chain Analysis Results view, the call chain is folded by default. Use the Expand options to display the components of the call chain. To expend and the branches of the analysis results' tree, right-click on the node in the Analysis result section and select Expand in the contextual menu. there are three options:
- Select Expand... to manually define the levels to expand. In the dialogue, enter the number of levels and click OK.
- Select Expand all levels to unfold all the are there nodes of the analysis results tree.
- Select Expand up to default level to unfold the notes of the analysis result tree to the level of the analyzed component.
Alternatively, select a node in the Analysis result section and click the Expand or Collapse icons in the toolbar to expand or collapse all the node below the selected node.
Each node in the call chain Analysis Results view shows an icon (specific to the type of component it represents) and all the details of the component.
If an analyzed component has a CLP source type, the called elements are shown in their calling order within the program.
Removing a branch from the result view
You may want to focus on a specific branch of the call chain and remove the unnecessary branches from the results view. To remove a branch, right-click on the item in the Analysis result section and select Remove branch.
To display the branch again, you need to launch a new analysis of the component.
Analysis results display filters
- Links
- Tick the corresponding box to display the chosen types of components' links: Programs, Commands, IFS, Modules, ILE.
- Triggers
- Indicates if you wish to display calling chains with files and their triggers or
FIELDPROC
calls. -
- *NONE: Omits all File to Program links.
- *TRG: Selects all trigger types (I + U + D) or file update types.
- *ALL: Selects all File to Program links.
- *TRGI: Only selects Insert type triggers (Insert).
- *TRGU: Only selects Update type triggers (Update)
- *TRGUD: Selects Update and Delete type triggers.
- *TRGID: Selects Insert and Delete trigger types.
- Ascending
- Use the increment selector to set the number of ascending levels of links to display (value from 0 to 9).
-
Note
If you display calls between procedures (and any subroutines), it is considered that there is a new level between each component or procedure (or calling subroutine).
- Descending
- Use the increment selector to set the number of descending levels of links to display (value from 0 to 99).
-
Note
If you display calls between procedures (and any subroutines), it is considered that there is a new level only when the source component changes.
- Inter-application links
- Specifies whether or not to use inter-application links for cross-reference usage. The list of applications linked to the current application is obtained by examining the links defined in the application's descriptive parameters (found using the command ADSPAPPINT). The possible values are:
-
- *NONE: The inter-application links are not used. Only the components present in the interrogating application are known.
- *USE: The inter-application links are used to simulate the real usage context for components. The link is made towards the applications used or with a reciprocal link. In the case of a component homonym, only the first one found is taken.
- *ALL: The inter-application links are used to determine all the applications concerned by a component. The link is made in all directions (applications used or using the current application or reciprocal link). In the case of a component homonym, all the applications of this component are displayed, in the order defined in the inter-application links.
It is possible to have access to advanced search options on ascending and descending calling chains.
Step 1 Right-click on a component.
Step 2 Click on Calling chain > Programs > Ascending and descending.
The corresponding calling chain opens in a new tab.
Step 3 In the Analysis results tab, right-click anywhere, then click on the Search... option.
Step 4 Complete the selection criteria dialog.
- Columns
-
Sets the column of the Analysis results where the search has to be made.
Select a column in the drop-down list.
- Operator type
-
Sets the operator to use to compare the value set in the Search value option below, with the available results.
Select an operator type in the drop-down list among:
Like Searches for a value that contains the same value as the one entered in the Search value option.
With this operator type, the value entered in the Search value option below has to be a string.
Not Like Searches for a value that does not contain the same value as the one entered in the Search value option.
With this operator type, the value entered in the Search value option below has to be a string.
= Searches for a value that equals to the value entered in the Search value option.
With this operator type, the value entered in the Search value option below has to be an integer.
< Searches for a value that is less than the value entered in the Search value option.
With this operator type, the value entered in the Search value option below has to be an integer.
> Searches for a value that is greater than the value entered in the Search value option.
With this operator type, the value entered in the Search value option below has to be an integer.
>= Searches for a value that is greater than or equal to the value entered in the Search value option.
With this operator type, the value entered in the Search value option below has to be an integer.
<= Searches for a value that is less than or equal to the value entered in the Search value option.
With this operator type, the value entered in the Search value option below has to be an integer.
<> Searches for a value that does not correspond exactly to the value entered in the Search value option.
With this operator type, the value entered in the Search value option below has to be an integer.
- Search value
- Sets the value to search for in the available results. You can enter a complete value, it has to be exact. If you do not know the exact value, you can enter at least one letter and the * character.
Step 5 Click Add to put additional search criteria. Select a criterion and click Remove if you no longer need it.
Step 6 Tick the Case sensitive option to refine the search.
Step 7 Click the Search button to launch the search. Click the Cancel button to close the search dialog.
Result In case of a component corresponding to the search you launched, this one is highlighted in pink.