Custom report configuration - SmartPlant Foundation - IM Update 46 - Help - Hexagon

SmartPlant Foundation Help

Language
English
Product
SmartPlant Foundation
Search by Category
Help
SmartPlant Foundation / SDx Version
10
SmartPlant Markup Plus Version
10.0 (2019)
Smart Review Version
2020 (15.0)

The ad hoc report engine can also be customized using third-party applications, such as Crystal Reports or Adobe Acrobat, by overriding the part of the SmartPlant Foundation Server that formats the result set.

If an output type of Custom Report is selected on the Edit Report Definitions dialog box, then at the point of deciding how to format the result set, the SmartPlant Foundation Server will connect to the overriding assembly and will see the file return path of the file to display in the client. The file specified will be moved to the SPFViewDir on the server and a URL provided to the Desktop Client.

To set up an external assembly to override the CreateCustomReport method on the ISPFAdhocReport interface in the server:

  1. Take the sample provided to use as a basis for a new custom reporting assembly. In the example provided, the logic sits in an overridden function named CreateCustomReport on the IExCustomAdhocReportDefault.vb interface class.

  2. Ensure that the new assembly is set to build the installation directory and that it references the SPFServerModuleCode.dll in the installation directory.

  3. Include the new assembly in the Settings.xml file in the bin directory of the SmartPlant Foundation server as shown below.

  4. Add the new interface to the SpecializationValues.xml file, with a specialization value higher than the one set for ISPFAdhocReport interface. Note that the values may be different from those shown below.

  5. Using the supplied Example Load File.xml as a basis, create a load file that loads the new interface definition, creates an implies relationship between the new interface and ISPFAdhocReport, and creates a realizes relationship between the SPFAdhocReport class definition and the new interface class.

The SPFServer will display an error if the custom assembly cannot be loaded. If this happens, ensure that the relationships are in place using data administrator and check that the SPFAdhocReport class definition realizes the new interface.