Cross-Reference Data and Facilities

Cross-reference data identifies where objects are used or referenced in application sources. For example, it can identify all the components that use a specific entity, and where and how the entity is referenced (in component structure, or at a particular line in a trigger).

Uniface provides facilities for generating cross-reference information. Using $ude ProcScript functions, you can create your own utilities for reviewing this information and generating reports.

Cross-Reference Data

Cross-reference data can be used to identify the objects that need to be included in distribution packages for deployment. It can also be used to analyze the impact of changes to the application during development, answering the question "what objects reference the modified object, and where are these references located?"

When an object is compiled, references to the object are available in internal symbol tables. These symbol tables can be stored as files in the working directory, and they are used to generate cross-reference data in a repository table (UXCROSS.DICT).

It is possible to automatically generate cross-reference data every time a component is compiled, but this can slow performance. Instead, you can configure Uniface to automatically store symbol tables to files during compilation and only update the UXCROSS repository table when required.

Cross-Reference Facilities

To configure generation of symbol table files and cross-reference data, use the $SYMBOL_TABLE assignment setting to set the default compilation behavior. You can override this using the /sym command line switch (for example /frm /sym=2 UGRID*.

You can create your own utilities using $ude operations. For more information, see: