Skip to main content

Reporting service

Introduction to the Reporting service

Universal GUI

The Thinkwise Reporting Service is a solution you can download from the Thinkstore. It facilitates the automatic printing and exporting of reports to a file storage location. It fully integrates with your existing Thinkwise application and makes it easier to manage your reporting needs.

Pre-requisites

Before the Reporting service can create a report, you need to define the following in the Software Factory:

Architecture

The Reporting service consists of the following:

  • A data model with a table called reporting_service_queue. It contains all necessary columns to store the information required to generate a report.
  • A system flow that reads the table for all items with status new and processes them.
  • A subroutine (add_report_{report_id}_to_queue) for each report, created automatically by the dynamic model, to add the report along with its parameters to the queue.

The system flow uses the following process actions:

  • Generate report - This process action is automatically populated from the queue; no further action is required. You can see the status code in the queue table.
  • Print file - The input parameter is retrieved from the queue table, Refer to the documentation for the possible values. You can see the status code in the queue table.
  • Write file - The input parameter is retrieved from the queue table, Refer to the documentation for the possible values. You can see the status code in the queue table.

This is the system flow for the Reporting service. It contains a subflow for generating each report, a Write file process action and a Print file process action:

Reporting service system flow Reporting service system flow

This is the subflow for generating a report with parameters (in the step Decision unpack_json):

Subflow with parameters Subflow for generating a report with parameters

This is the subflow for generating a report without parameters:

Subflow without parameters Subflow for generating a report without parameters

Configuration

The system flow in the Reporting sevice contains the parameter max_no_of_multiple_running_instances with a default value of 5. This parameter indicates how many Indicium workers are able to simultaneously pick up queued items.

You can change this value in two ways:

How a report is added to the queue

For each report, a subroutine is created: add_report_{report_id}_to_queue.

  • The first parameters for the subroutine are reserved for the report parameters.
  • Next, columns are added to the table reporting_service_queue. You can adjust these when creating a queue.
  • The last parameter of the subroutine is reporting_service_queue_id. It is marked as an output, so you can use the queue_id after adding a queue item.
  • The folder parameter for the file destination must be a relative path and must exist within file storage location.

Was this article helpful?