Usages window
Find usages of can be invoked on declaration identifiers in multiple places:
- Declarations in Object view. and Extended view (LeftClick)
- Declarations in Outline panel.
- The Usages window itself via the context menu on declaration headers in the result, see below.
The window groups result in a hierarchy and allows advanced filters and invocation of new Find usages searches. The general parts of the window are described as part of the following special case of field usages.
Field filter (assigned/read)
When the target of the search is a filter, there is a special field filter that allows you to e.g. filter results to usages where the field is assigned a value:

# | Name | Description |
---|---|---|
1 | Usage target | The declaration searched for. Click to navigate back to declaration. |
2 | Results | The results heading shows the total number of usages and the number of usages currently displayed. |
3 | Usage | Click a usage to navigate. Right-click to pin. |
4 | Usage context | When a usage is found in a declared context, e.g. within a procedure, Use the context menu to find usages of the declaration. |
5 | Pinned node | A pinned node. |
6 | Text filter | Filter result lines by entering a substring search criterion. |
7 | Toggle additional filter options |
Click to view additional filter options, if available.
Additional filter options are available for these targets:
|
8 | Collapse all | Collapses all results. |
9 | Show object level | Expands modules and collapses everything else. Shows modules and objects. |
10 | Show member level | Expands modules and objects and collapses everything else. Shows object members. |
11 | Expand down to pinned nodes | Expands the paths down to pinned nodes. |
12 | Expand all | Expand all levels. |
13 | Copy to clipboard | Copies the filtered result to the clipboard. |
14 | Show where assigned and read | Click this radio button to show all usages, i.e. where the field is assigned or read. Use detailed include options to narrow the results further. |
15 | Show where assigned only. | Click this radio button to show where the field is assigned only. Use detailed include options to narrow the results further. |
16 | Save options | Click the save button to set your default Include options for the currently selected radio button group. These settings will survive restart of Prism for AL. |
17 | Filter ratio bar | Indicates the ratio of usages shown relative to the total number of usages found. |
Temporary record filter
When the target of built-in function usages is a table, then the following filter options is available:

# | Name | Description |
---|---|---|
1 | Temporary record filter options | This filter is available when when searching built-in functions of a table object. |
2 | Show all usages (temporary and persistent) | Click this radio button when you want to show all usages. |
3 | Zoom in on persistent usages |
Click this radio button when you want to focus on
persistent (not temporary ) usages only. The trouble is that when a parameter
to a procedure is declared as var (by-reference),
then – whether or not the parameter is declared temporary or note
– the procedure can be called with actual parameters that are both
temporary and persistent/normal. So the temporary declaration on var
parameters cannot be trusted (it is not enforced at compile-time and also not at runtime).
Therefore, if you want to be sure to include all persistent usages, then you need
to use the option Include all (whether declared persistent or temporary).
If you believe that all calls to procedures
with temporary var parameters have actual parameters that are actually
temporary , then you can select the option Only include if declared persistent. |