I'd like to run a report in a custom application (no birt viewer, direct integration of the report engine in the application code for rendering reports under the hood and providing links to the final documents).
After rendering the report I need to read back specific values which were calculated in the report - e.g. for pushing it towards a webservice of a different application.
Imagine an invoice report with master and details which calculates in the master section then the aggregated payment sum of all invoice details. If I would need to pass the calculated payment sum to a payment service from the appplication (not in the report!) - how would I do that ?
I've seen DataExtractionTasks in the Birt API. However they seem to be heavily query-related in the rare examples I found and I am not sure if they would somehow work with non-resultset data as well.
I tried to use GlobalPersistentReportVariables and access them after rendering the report via the API - however via the API they always seem to be null. Not sure if this is the "right way" to access calculated report values. I think they are mainly provided for sharing data in between different report elements like tables.
I certainly do not want to duplicate the report logic in the application just to calculate the payment sum again.