TL3: Enhance a Query Based Report
Exercise 1: Enhance only the design of the query based report
- Register the Customer base data report report (CustBaseData.Report) as a Docentric report. The report's location: Accounts receivable -> Inquiries and reports -> Customers -> Customer base data report.
- Generate the DDSP file using the Generate DS print destination.
- Design a Docentric template using the generated DDSP file and assign it to the report in Docentric report setup.
- Run the report from D365FO.
Exercise 2: Adding additional data
- We can do it in the standard way, using the original report artifacts (i.e. the report query), or, take the following steps - this is so called Docentric approach.
- Create a custom DSP class for CustBaseData.Report: DTCustBaseDataReportDSP. You can use this VS DSP class template.
- Remove all methods except the description(), preRunGenerateDS() and generateXmlDataSource().
- Override the following two methods:
and put breakpoints within each method to understand the report execution pipeline.
- TASK #1: In the generateXmlDataSource() method export generated XML to a string or a file to check the resulting report DS (data source): _recordBuilder.exportToXmlFile('CustBasedataDs.xml');
- TASK #2: Add additional data to the currently selected record of a query data source in the addAdditionalDataFieldsForQueryRecord() method.
- TASK #3: Append additional data to the end of the report DS in the generateXmlDataSource() method.
- TASK #4: Include display methods of all query data sources from the report DS in the preRunGenerateDS() method.