Changes

SSRS Reporting

2,000 bytes added, 15:01, 21 January 2021
Created page with "[https://docs.microsoft.com/en-us/sql/reporting-services/create-deploy-and-manage-mobile-and-paginated-reports SSRS], short for '''SQL Server Reporting Services''', allow the..."
[https://docs.microsoft.com/en-us/sql/reporting-services/create-deploy-and-manage-mobile-and-paginated-reports SSRS], short for '''SQL Server Reporting Services''', allow the creation of completely customizable data reports using SQL data. Templates are designed using the Report Designer, which will then be filled up dynamically by the data from the SQL Server. For Ubik, this technology allows the creation of customer-specific reports from data of the Ubik system.

== System Architecture ==
To get SSRS running, a Windows server is required, and access to the data source (SQL Server) is necessary. The SSRS service needs to be accessible from the UBIK Web Server and/or UBIK Enterprise Service, depending on the customizing. The same server hosting the UBIK Web Service and/or the Ubik Enterprise Server (if hosted on an extra server) can be used for hosting SSRS as well.

== Report Templates ==
Template stuff, will be done with images

== Report Creation from UBIK Customizing ==
There's a Report Generation plugin available for Ubik: ''UBIK.Interface.Module.SSRS''. Two ways of generating a report are exposed, one using the '''Report''' class and one using the '''ServerReportRender''' class.

=== Report Class ===
The <code>Report</code> class creates a report via the ancient SSRS ReportExecution2005 SOAP endpoint.
While this method works fine for most use cases, for very large reports (> ~1.5 GB in our experience), the report service will stop with an error. If such a case is encountered, the other service documented below should be used instead.

=== ServerReportRenderer Class {{Version/ServerSince|3.6}} ===
The <code>ServerReportRenderer</code> uses a different and more modern approach to render the data: It calls the URL of the web viewer and tells it what to do via the parameters, just like the user would by clicking buttons in the toolbar.
This methodology makes it really easy to implement, as the rendering results are the same if executed manually in the web viewer.
187
edits