ENL - Results (Call Hierarchy)

Results (Call Hierarchy)

When the Call Hierarchy analysis process has completed, results are displayed in two stages:

  1. An initial Preview dialog box is displayed, allowing you to preview called/calling objects and choose options for graphical view creation
  2. Results are then displayed

Preview dialog box

The Preview dialog box is always displayed prior to the display of the Call Hierarchy results:

Upper section

The upper section displays a list of the objects that have been identified as either called by or calling (whether directly or indirectly) your starting object.

When the Preview dialog box is first displayed, two items will be visible in the upper section as shown in the example below:

The two items are "Calling YOUR_STARTING_OBJECT NAME" and "Called by YOUR_STARTING_OBJECT NAME". Clicking the "+" icon next to either item will expand the list and display other objects that are called by or calling (whether directly or indirectly) your starting object:

In the example above, objects that call the starting object CREATENEWINVOICE are:

  • CREATEORDERSINVOICE (Function) - direct link

Objects that are called by the starting object CREATENEWINVOICE are:

  • SALES (Table) - direct link
  • PK_SALES (Index) - indirect link via SALES

Notice that objects are indented to represent their level in relation to the starting object. The number of levels that are displayed in this upper section is detemined in the Call Hierarchy dialog box by setting the Number of steps option.

The column headings describe your object in more detail:

  • Name > Object name
  • Type > Object type
  • Level > Indicates the object's level. "0" indicates the starting object, "1" is an object that is directly linked to the starting object and level "2" and above indicate objects linked to other levels with a link back to the starting object.
  • Project > Indicates what project the object is part of
Lower section

This lower section provides various options that govern the graphical view that will be created using the objects listed in the upper section.

Drawing options

  • Number of levels to show in graph > This option enables you to define how many levels will be represented in the graphical view displaying the results of the Call Hierarchy analysis. You can define this for both calling and called objects by clicking the appropriate option and selecting the required number of levels. Please note that the number of levels displayed in the drop down list is equal to the number of levels detected during the analysis.

  • Graph type > This option enables you to determine what type of graphical view will be created to display the analysis results (see Results section below for examples of these view types):
    • Standard Graph > A standard graphical view will be created. All link types are included in the graphical view.

    • Tree Graph (Vertical or Horizontal) > A graphical view showing the results of the analysis will be created using only the necessary link types. In addition, objects may be duplicated to provide more clarity.

      Please note that if you select a Tree Graph (Vertical or Horizontal) a warning message will be displayed. This message explains that (excluding the use of the Expand and Collapse feature) it is not possible to add additional objects to the graphical view. This is NOT the case for a standard graph.

      Show Loops > Select this option if you want to include loops in the generated Graphical View (represented as "curved" links). Loops cannot be shown in Standard Graphical Views, instead you must create a Tree Graph.

      Loops represent links between items within the same object. Take the following code for example:

      class A {
      void m1() { m2(); m4(); m5(); }
      void m2() { m3(); }
      void m3() { m4(); }
      void m4() { m2(); }
      void m5() { m2(); }
      };


      The method m3 calls m4, which in turn calls m2, which then calls m3 etc., etc., thus creating a loop within the class "A".

      This would be displayed as follows in the Preview dialog box:



      See the Results section below for an example of these link types.

Displaying the results

To start the display calculation process, click Continue. Results will then be displayed. See the section below for more information.

Please note that if the Call Hierarchy process includes a very large number of objects it may take some considerable time to calculate the results. In this case, a warning dialog box will be displayed giving you various options:

  • Change Parameters > Select this option if you want to abort the display of results. In this case you will return to the Preview dialog box so that you can make amendments to the configuration.
  • Create this graph > Select this option if you want to continue anyway.
  • Compute the best > Select this option if would like CAST Enlighten to calculate a more appropriate graph that takes less time to create. Normally, CAST Enlighten will reduce the number of levels that are displayed, thus reducing the number of objects involved.

Results

The results of a Call Hierarchy analysis will be displayed in the Graphical View. A new view will be opened with its own Object Browser (containing only those jobs (projects) defined in the Define scope dialog box).

Depending on the option you selected in the Preview dialog box (see above), one of three different Graphical Views will be created. The following example all use the same starting object and identical options:

Standard Graph

All links are displayed and objects are NOT duplicated.

Objects are displayed in levels:

  • Level 0 will contain the Starting object (marked in pink below)
  • The level "below" this (level 1), represents objects linked directly to the starting object.
  • Other levels represent objects linked to other levels with a link back to the starting object.
  • There may be objects "above" the starting object as shown below.

Call Graph (Horizontal)

Only necessary links are displayed and objects may be duplicated (the starting object is marked in pink). Objects are displayed in levels as with the standard graph.

Call Graph (Vertical)

Only necessary links are displayed and objects may be duplicated (the starting object is marked in pink). Objects are displayed in levels as with the standard graph.

Show Loops option activated

This image shows results that include loop type links (indicated by the solid black arrows). The starting object is marked in pink.

Notes

  • You can save the results of your Call Hierarchy analysis by saving the Graphical View.
  • The list of called/calling objects is also displayed in the Impact window (Linked Objects tab) once the graphical view has been created.
  • Objects may be duplicated in the results graph. Duplicated objects are marked with a number. For example, object m1 may be duplicated, in which case the duplicated object would be displayed as m1:1.
  • It is not possible to add new objects to a Graphical View showing the results of a Call Hierarchy analysis.
  • You can use the right click contextual menu options (when right clicking an object in the results Graphical View) Expand Call Hierarchy result and Collapse Call Hierarchy result to expand or collapse items.

CAST Website