In this appendix, we will learn about the best practices followed for all reporting objects.
The following points must be kept in mind while developing reports:
While using the
SrsReportDataProviderPreProcess
class as RDP, use theRegular
table to insert data in the reporting table. Also, set theCreatedTransactionId
property toYes
.Use
TempDB
tables when dealing with a large amount of data.Use Extended Data Types (EDT) for the
temp
table fields so that the labels and other properties would be automatically handled by the report framework when the report is rendered.Provide proper labels to the fields, in case EDT is not used for a field.
Provide proper indexes.
Provide table relations to the foreign key fields, to enable Auto links to the report. It helps to drill-through to the master form.
The following points must be kept in mind while developing reports:
When dealing with a complex query involving multiple joins, use the
RDP
class to insert data into thetemp
table and render data onto the report.When dealing with a large amount of data, use the
SrsReportDataProviderPreProcess
class.Use a user connection at the beginning of the
processReport()
method while using theSrsReportDataProviderPreProcess
class as RDP.Perform database related functions to be executed on the server only.
Use the
processReport()
method to process business logic. Also, setSysEntryPointAttribute
at the beginning ofprocessReport()
.