JadeReportWriterManager Class
The JADE Report Writer is a generic report writer that enables you to configure and design reports for all schemas in your JADE database. These reports can be tailored by a JADE developer or by a user of a deployed JADE runtime application. In addition, you can use the methods defined in the JadeReportWriterManager, JadeReportWriterReport, and JadeReportWriterSecurity classes to dynamically override report details at run time.
Like your user schemas, the JadeReportWriterSchema schema is implemented as a subschema of the RootSchema so that you can use it to write reports for any schema in your JADE database. You can integrate these reports with any JADE application so that they appear as extensions of that application.
The following diagram shows the schema hierarchy.
From the JADE development environment, the JadeReportWriterSchema schema provides the following applications that enable you to configure and design your reports.
-
ReportWriterConfiguration, which sets up a schema view containing the classes and their properties and methods that can be reported on
-
ReportWriterDesigner, which designs the reports based on that view
The JADE Report Writer acts on transient instances of the report definition details. As the report runs from the transient copy (which requires read-only JADE database access), the database is therefore not locked when a report is edited or printed. For details about locking objects during the query phase of the report, see the JadeReportWriterReport class setQueryOptions method, later in this chapter.
A report becomes permanent only when it is saved in the JADE Report Writer Designer.
To classify and organize report definitions, create at least one folder for each user schema in your database, as all JADE Report Writer reports defined for all schemas in your database are stored in the JadeReportWriterSchema schema for use in applications in the schema to which they are defined. (Use the JADE Report Writer Configuration application to define and maintain report folders.) Arranging report folders in a hierarchy makes it easy for users to find a specific report definition.
The JadeReportWriterManager class provides a superclass for each JADE Report Writer:
-
Configuration application, which enables you to maintain views, folders, and system options from within the user system.
Create a transient instance of the JadeReportWriterManager class for each configuration application that you require and call the startReportWriterConfiguration method, passing the user name of the current user and the name of the subclassed JadeReportWriterSecurity class.
-
Designer application, which enables you to maintain report definitions and run reports from within the user system.
Create a transient instance of the JadeReportWriterManager class for each designer application that you require and call the startReportWriterDesigner method, passing the user name of the current user and the name of the subclassed JadeReportWriterSecurity class.
If the application user is not allowed access to the JADE Report Writer Configuration or Designer application, no action is taken. If the user is allowed read-only access only, the application is started in read-only mode. If the user has full access, the application is started in full maintenance mode. The application starts in the current process, so that the user context is available when reports are run.
For details about dynamically running an existing JADE Report Writer report, see "Running an Existing Report", in the following subsection. For details about the methods defined in the JadeReportWriterManager class, see "JadeReportWriterManager Methods", later in this section. See also the Application class jadeReportWriterTimeDetails method.
(None)