Configuring BOM Reports
Copy
To access or create a Report, select Administration Reports from the TOC.
The high-level flow of the BOM Report implementation is as follows:
- When a user executes a BOM Report, its corresponding client method is called.
- The server method PE_ExecuteQdReportMethod is run through the client method.
- PE_ExecuteQdReportMethod calls the Query Definition (QD) for the selected BOM Report.
- The QD provides queries to retrieve report-specific data from the database.
- PE_ExecuteQdReportMethod parses results from the QD execution, and performs report specific logic, such as quantity roll-up. The resulting data in XML format includes level property and is in its final order so it can be transformed into HTML in a hierarchical view.
- The report stylesheet parses data in XML format into HTML using XSLT.
Client Methods and Query Definitions for BOM Reports
BOM Report | Client Method | Query Definition |
| BOM Costing Report | PE_executeCostingRepAndApplyXslt | PE_costingReport |
| Multilevel BOM Report | PE_execMultilevelRepAndApplyXslt | PE_multilevelReport |
| BOM Quantity Rollup Report | PE_execQuantityRepAndApplyXslt | PE_quantityReport |
The standard BOM Reports can be customized to add, remove, replace, and reorder columns. To customize a standard BOM report, configure its:
- Query Definition (QD) to retrieve necessary properties.
- Stylesheet to display these properties.
Note
Customization examples are provided in the Appendix.
By default, the BOM Reports are limited to 1000000 rows. Opening a larger BOM structure causes an error.
If your company manages smaller BOM structures, you can limit BOM Reports to a specific number of rows using the following procedure:
- Search for the PE_ExecuteQdReportMethod Method and open its item view for editing.
- Go to the PE_ExecuteQdReportMethod Method editor.
- Change
1000000tothespecificnumberat all occurrences of the followingifstatement: - Click Done on the PE_ExecuteQdReportMethod Method toolbar and close its item view.
if (_partsTree.Count >= 1000000){throw new Aras.Server.Core.InnovatorServerException(errorLookup.Lookup(“PE_ReportIsVeryLarge”));}