The IFS Report Formatter is the server side component responsible for formatting operational reports - applying a layout to some assembled data and typically producing a PDF that is used for archiving, preview, physical printout, and electronic distribution. Report Designer layouts are the most common type of layouts used, but through plugin concept 3rd party layouts like Crystal Reports can also be applied. There are also plugin concepts that produces non PDF output, like ZPL suitable for Zebra barcode printers.
The Report Formatter is triggered when a print job is added to the queue. Print Jobs are format/print requests to logical printers and these are processed asynchronously. The Report Formatter also handles synchronous requests directly from clients in the form of preview requests, where a document is formatted in order to show a preview of an operational report to a user.
There can be several Report Formatters set up in an environment for load balancing and redundancy purposes. Furthermore, the Report Formatter is by deafult multi-threaded. This enables small print jobs to be formatted (and later printed) even if there are other larger jobs being processed at the same time.
The Report Formatter will format the report using the language (translatable attributes like labels for instance) and locale (date and number formats) options specified in the print job. If no language or locale is specified in the job, the Report Formatter will revert to it's configured default language and locale.
Each Report Formatter will serve a configured set of logical printers, only processing jobs bound for these printers. This provides the ability to distribute the load as well as to decide what locale should be used when formatting dates and numbers (in cases where this information is not part of the formatting request / job). The way to control this type of formatting is to set up several Report Formatters using different locale settings and print to the logical printer handled by the correct Report Formatter. Two Report Formatters should normally not be set up to serve the same logical printer, but several logical printers might very well be mapped to the same physical printer.