Using System Cross-References
The System Cross-Reference menu (36.18) contains programs that identify how and where fields and tables are used within standard Progress programs.
Note: These functions do not report any information about component-based functions.
System cross-reference activities can be customized to reflect your system setup. This lets you update cross-references when you add or change menu items. If you do not customize the system, you can use the cross-reference as it is.
The cross-reference database requires about 50 MB of disk space, and consists of a set of reports summarizing database relationships such as:
• Which X and Y are used by this Z? X, Y, and Z can be tables, fields, menu items, or programs. Used can mean referenced, updated, or called.
• Which database tables are referenced or updated by this menu item?
• Which menu items call this field?
• Which program source files use this include file?
You construct a cross-reference in two steps:
1 Compile the entire system.
2 Build a bill of material from the menu structure.
The end result is a bill of material for each program, in which all programs called by the initial program are components, as well as fields called or updated by those programs.
Cross-reference reports provide different ways of organizing the bill of material.
Background
The core modules of QAD Enterprise Applications consists of approximately 6200 programs that call some 10,000 fields. The programs consist of normal, executable Progress programs (.p files) and include files (.i files), which can be called from many different .p files.
The menu system calls approximately 1400 of those 6200 programs. These called programs call numerous other .p and .i files. Progress programs can be nested, enabling you to place .i files within .i files, and so on.
These Progress programs read or change information in database tables, such as the item master (pt_mstr) or the printer master (pr_mstr). The database tables consist of records containing entries in a group of fields.
When Progress is compiled, the list of programs called and the tables and fields read or potentially updated by those programs can be output. This output, along with other utility information, is the source of the cross-reference.