A relational report is represented by an instance of object class Relational Report.
Relational reports can either be created manually or using the Transfer to Report feature.
Each user can only create one relational report for each relational report definition. If a relational report already exists for the selected relational report definition, Fabasoft Folio will ask you to edit the existing relational report instead.
In the properties of a Relational Report several settings can be defined:
Note: The Allowed Object Classes and Access Types properties of the relational report definition associated with the relational report can be used to filter the set of objects that is eventually exported to the database when the relational report is processed.
A relational report is not executed unless scheduled for execution by the Fabasoft Folio AT Service.
To schedule a relational report for execution, click “Enquire Report” from the context menu of the relational object. This will set the Start Execution on/at property to the current date and time.
You can also manually set this property to the desired value.
Note: The relational report is processed when the Fabasoft Folio AT Service executes the automated task Check for waiting relational report jobs for the next time on or after the date and time specified in the Start Execution on/at property. The relational report is not processed before the specified date and time.
On the Scheduling form page you can also find the following properties:
In the Process SQL property on the Advanced form page, you can define SQL code that is executed after the data for your relational report has been exported to the database by the automated task Check for waiting relational report jobs.
Note: You can also define SQL code in the Process SQL property of a relational report definition. This SQL code is then used to populate the Process SQL property when a new relational report is created based on the relational report definition.
After the execution of the relational report, a status message is stored in the SQL Execution Information property informing you whether the optional SQL code defined in the Process SQL property had been executed successfully or not.
A “Transfer to Report” button is available in the search results dialog box so you can select one or more objects in a search result list and create a relational report based on these objects.
Note: For this feature to work, you need to make one or more relational report definitions available by adding them to a template collection. In addition to this, you must be granted the Read Properties access type by the ACL of the relational report definition to be able to use it as a template for new relational reports.
If there is only one matching relational report definition available in your template collections, a relational report is created based on this relational report definition. If there are more than one matching relational report definitions available in your template collections, you have to select the relational report definition you want to use for your new relational report. Otherwise, if no usable relational report definitions are available in your template collections, an error message is displayed.
A relational report definition referenced in a template collection is only included in the list of available relational report definitions if the selected objects are instances of the Allowed Object Classes referenced by the relational report definition. If no object classes are specified in the Allowed Object Classes property of a relational report definition, it can be used with instances of all object classes.
After selecting the relational report definition, a relational report is created and opened to allow you to edit its properties.
The Included Objects property is populated with the objects you selected before clicking “Transfer to Report”. Moreover, the Start Execution on/at property is initialized with the current date and time to automatically schedule the relational report for immediate execution.
The remaining properties can be defined in the same way as you would define them when manually creating a relational report.