IFS Report Designer is configured using the Solution Manager
For each report that will use Report Designer layouts the XML generation need to be switched on. This is done using the List Reports form, which can be found in the Solution Manager under Info Services. Select the report to be configured from List Reports and choose Show Details from right mouse button menu option or click on the report title which will take you to the configuration form shown below.
The form header is where you control whether or not to generate XML. The default setting for all reports, are to generate both result set and XML. To change the default configuration, first select the Use Custom Configuration checkbox to enable settings and then use Create Xml or Create Result Set checkboxes to set custom settings.
The Default Layout Type is an important option. Just as
the name of this option indicates this option controls what layout type should be the default layout type. This
setting is used when enumerating layouts and getting the default layout for a
certain report. Assume this setting is ticked for a certain report. If a
printout of this report is triggered in a business flow and the business logic
used the Get_Default_Layout APIs. Even if two layouts of another type
than Report Designer (i.e. Streamserve, Excel Reports etc)
might have been defined as the first and second layout and a Report Designer
layout as the third layout, the default layout will in this case be the last
layout. All due to the fact that this is the first Report Designer layout given
the enumeration order. In the sample form above, the
MODULE_REP
(Component Information) report have been set to generate both
XML and a result set with Report Designer layout selected as the default layout
type.
Remember that in order to be able to generate XML the report definition file (RDF) too should be modified accordingly.
For details regarding the configuration please refer to Manage Operational Reports.
The Report Designer layout must be registered using the above form before it can be previewed or printed in runtime. The form body is where the new layouts are registered.
The layout name that you define in the RDL will be listed in the Layout Name column. Specify a unique title for the report layout under Layout Title. This name will be listed in the Layouts combo of the Print dialog later when you go to preview/print the report.
When developing additional layouts for an existing report, the additional layouts need to be manually registered using this section of the form. It's important to set the correct Layout Name and Layout Type in this case.
Once the report layout has been registered, the layout itself and the schema needs to be imported into the database. This is something that is done as part of the Extended Server initialization process, but as soon as a layout and or schema is updated these needs to be updated/deployed in the database. The report schema is deployed using the right mouse menu options available from the above form header as shown below.
Similarly, the layout file is deployed using the right mouse button menu option Import Layout available from each layout row. See below.
Just as for the XML configuration above, more information regarding layout configuration can be found in Manage Operational Reports.
Note that the below configuration isn't something that needs to be done for each report. This is something that is done once and will be used for all reports.
The IFS Report Formatter can be compared to the IFS Print Server. The functionality is more or less identical. What differs is the implementation and how the Report Formatter is configured. Both the Report Formatter and the Print Sever polls the print queue and processes print jobs. Since the implementation of these two server processes differs quite a bit, so do the installation and administration. While the Print Server runs as a Windows Service (or a stand alone application), the Report Formatter runs as a background job in IFS Connect (part of Extended Server). The Report Formatter picks jobs from the print job queue, processes these by formatting/rendering it to a PDF document. This PDF document is stored in the database and used for preview from both IFS Web and Windows clients. The same PDF is used for printing in case of a print request instead of a preview request.
Since the IFS Report Formatter is a background job in IFS Connect, when it comes to starting/stopping and configuring a Report Formatter this is a matter of configuring and starting/stopping a background job in IFS Connect. To do this use the IFS Solution Manager.
Background jobs in IFS Connect are executed at a given interval, using an agenda or pattern, by the batch server. Since it's the batch server that triggers the jobs it goes without saying the batch server needs to be running in order for the Report Formatter to work. The pattern is one of the configurations that can be made for the Report Formatter, the default value is to check for new print jobs every 5 seconds. If any new jobs are found, that should be handled by the Report Formatter, all these jobs will be processed. This interval can off course be adjusted to poll the queue at a different rate, more frequent or at a slower pace.
A Report Formatter has a list of logical printers, each mapped to a physical printer. Only those jobs bound to these printers (logical) will be served by the formatter. So, when configuring the IFS Report Formatter you need to configure a list of logical printers. You also need to define the connections between the logical printer ids and the physical printers.
The above picture shows the Application Server Tasks feature in the new IFS Solution Manager. The Report Formatter background job is created at installation/initialization. This can be located under the Description "Processing Print Jobs". By default it's set to inactive (stopped), just as all the other background jobs. The job is started by using the right-mouse-button menu and selecting Start.
Before starting the job a couple of things needs to be configured, though. Note that the batch server needs to be stopped when doing configuration of background jobs, at least for jobs that are set to run at a greater pace than once a minute. This is a consequence of the jobs being updated by the batch server. Otherwise one needs to finish the configuration and save it before the batch server updates the job, and that is no easy task if a job is set to run every 5 seconds. If you open up the Report Formatter job the following window will be presented to you.
Here it's possible to change the recurrence pattern for the job. That is, how often the Report Formatter should poll the print queue for jobs. Click on the Recurrence Patterns link to set the appropriate pattern.
The Report Formatter Job Parameters section is where you define associated External Report Formatter location if any, locale and language assigned for the Report formatter and all logical printers mappings. Normally the External Report Formatter URL should be empty. The only exception to this rule is if you've set up secondary application servers for the specific purpose of handling report formatting (i.e. formatting of PDF documents/reports based on Report Designer layouts). If separate application servers have been set up, the URL specified should reflect the connection URL to the secondary system, <host>:<port> (i.e. http://corpnet.ifsworld.com.lkpgseapp7:58080). If an URL is specified this tells the system that the utility to perform the formatting is actually located in another applications server. The external application server will be invoked from the Batch Server.
When a report created using a Report Designer Layout is printed to a logical printer (serving this Report Formatter ) the date and number formatting of the report is performed based on the locale of the Report Formatter. To set this locale use the list of values from the Locale combo. Importance of the locale set here becomes more prominent in a set up where you need to print reports using different locales and from the same location. In a scenario like that you are required to have separate Report Formatters for each locale.
Each logical printer that the Report Formatter should be able to service has to be connected to a physical printer. For the logical printer names use the list of values (LOV) functionality. The physical printer should match the physical printer id on the Extended Server machine. The printer needs to be installed on that machine. For a Windows network printer the physical printer id would be something like \\<server_name>\<printer_id>.
The Report Formatter also have support for sending the XML and PDF to IFS Connect. This functionality can be used to route the XML or PDF to any destination supported by IFS Connect. The way this is implemented, you need to create one or several of the below listed logical printers and "print" (i.e. create a print job, either in code or by using the print dialog) a report using Report Designer layout to one of these logical printers.
There's no need to connect these logical printers to any physical printer since it's only logical names recognized by the Report Formatter as an instruction not to print the report but to send it electronically to IFS Connect.
In order for the configuration of the Report Formatter to be complete, one must set the Server side printing available setting to ON in Solution Manager. This might sound a bit strange, but it's just the name of the setting is a bit confusing. The setting, which can be found in the Solution Manager, Configuration, System Parameters controls whether or not logical printers should be available in IFS Applications.
For more information, see Configure Report Formatters.
As described in the section concerning logotypes in the layout developing part of the developers handbook there is a graphics root setting in IFS Solution Manager that needs to be configured. The below picture shows this setting, which too is located in Configuration under System Parameters.
The folder defined using this setting should contain a stdlogo folder containing the standard ifslogbw.gif logotype. Note that even if this is defined in Base Server, it's actually Extended Server that reads and uses this path, so the folder specified here must be accessible from the Extended Server machine. Any report specific graphics needs to be copied to the same specified location, in this case the entire report folder structure: report_designer_graphics\<module_name>\<report_id> needs to be copied.
Some users by mistake run reports without parameters or use invalid parameters causing huge reports to be formatted. In this case the memory consumed by FOP might exceed the maximum memory allocated for JBoss, causing JBoss to crash at some point. To prevent this out of memory crashes in JBoss, two new system variables are introduced to set maximum size limits on reports that are processed. The limitations are checked before formatting the report from Report Formatter and if the memory consumption exceeds the allowed values, appropriate messages are shown to the user.
These system variables are located in Configuration under System Parameters.
Maximum allowed XML size for Report Designer (KB)
Breakpoint XML size for when to format Report Designer reports in memory or
using disk storage (KB)
The default values for maximum XML is 0 (zero), which is meaning that there is no limit and Breakpoint XML size is 100.
How to remove the existing Report Designer XSL layouts after an upgrade process.