SrsReportDataProviderPreProcess is used to work with regular tables with the included properties CreatedBy and CreatetransactionId.

Hi All,

What is the use of CreatedBy and CreatetransactionId properties while working with regular tables used in SrsReportDataProviderPreProcess.

Why we use the following statement in processReport().


Thanks in advance.

As per my knowledge,

  1. It’ll creates records in the regular tables & will keep reference of user session by using above two fields.
  2. Once the report is being generated, it’ll automatically deletes the records in regular table. using above fields, by the command tablebuffer.setConnection(this.parmUserConnection());

As the name suggests, SrsReportDataProviderPreProcess class is a special kind of Report Data Provider class that pre-process data. You can learn more about it Report Programming Model, but in short, pre-processing is used when preparing the data would take so long that the printing would time out, therefore it first prepares the data and only then it calls the report.

SrsReportDataProviderPreProcess uses regular tables and therefore it needs to distinguish data for different runs of the same report, so it uses the transaction ID. Since SrsReportDataProviderPreProcessTempDB has been introduced, you should use it instead of SrsReportDataProviderPreProcess. TempDB don’t need such the distinction over transaction ID, because there is a separate instance of the table for each run.

Thank you so much