Route Reports based on Content

Please note that this feature is kept for backward compatibility with Printer channels. This feature will be deprecated in future core release (IFS Cloud). It's suggested to use Report Rule Engine to handle all emailing and printing of report. Report Rule Engine provides a more robust and more flexible way of configuring the report to be emailed, route the job to another printer, insert PDF and many more with ease. Read more on Report Rule Engine from here.

There is support in the Info Services framework route formatted reports based on content in the report and also to be able to control the paper tray for different types of pages (first, last and rest) in a report when printing. This functionality is only available for print jobs handled by the Report Formatter. Furthermore, the only thing that's included in standard is the framework to make the routing possible. The entire routing (i.e. rules for controlling where a certain report should be sent, what paper tray options to use and so on) is considered business logic and needs to be developed separately in each customer project and handled as a customization.

The new functionality enables you to do the following things:

  1. Route reports to printer channel based on what ever criteria you'd like.
  2. It enables you to control the paper tray selection when doing a physical printout (i.e. using the print channel)
  3. Its support duplex printing (i.e. using the print channel)
  4. PDF insert and merging. (i.e. using the print channel)
    You can specify inserts for the first last and rest pages. The default location of the inserts is after each page, but you can also specify the insert to be placed before the page (see example below).

    Read more about Report PDF insert.

        

Implementation details

The way to enable this and start using it is to customize the Route_Print_Job method in the Print_Job_API (i.e. add the appropriate call to you own customized routing code). This Route_Print_Job method is invoked when the status of the print job is set to waiting. This means any routing information will be added before it's picked up and processed by the Report Formatter. The task of the routing code is to update the routing_info column in the print_job_tab table. This column holds a CLOB which needs to be a well formatted XML message according to the below definition.

Here you can see the structure of the routing info (i.e. the type of XML your routing code needs to assemble). Further guidance and instructions can be found below.

<REPORT_ROUTING>
  <OMIT_PRINTOUT_TO_JOB_PRINTER>TRUE</OMIT_PRINTOUT_TO_JOB_PRINTER>
  <DESTINATION>
    <CHANNEL>PRINTER</CHANNEL>
    <
ADDRESS>GBG2B</ADDRESS>
    <OPTIONS>
      <TRAY_FIRST>1</TRAY_FIRST>
      <TRAY_LAST>2</TRAY_LAST>
      <TRAY_REST>3</TRAY_REST>
      <COPIES>2</COPIES>
      <DUPLEX_MODE>DUPLEX_VERTICAL</DUPLEX_MODE>
      <INSERTS>
        <INSERT_FIRST location="after">FirstPageTerms.pdf</INSERT_FIRST>
        <
INSERT_LAST location="before">BeforeLastPage.pdf</INSERT_LAST>
        <
INSERT_REST>RestPageTerms.pdf</INSERT_REST>
     
</INSERTS>
    </OPTIONS>
  </DESTINATION>
</REPORT_ROUTING>

This sample shows how to route the reports in a print job to a printer channel. The XML structure should be pretty intuitive. A root element called REPORT_ROUTING, containing any number of DESTINATION elements. Each destination must have a CHANNEL and an ADDRESS element (i.e. those are mandatory).

XML Element Print
OMIT_PRINTOUT_TO_JOB_PRINTER TRUE or FALSE
If it is  TRUE then it will skip the printout to the job printer if we’re successful in printing to any of the routing printers.
CHANNEL Fixed value: PRINT
ADDRESS A logical printer name
CONNECTOR_INSTANCE n/a
OPTIONS An optional collective element. Three valid options inside: TRAY_FIRST, TRAY_LAST and TRAY_REST
TRAY_FIRST The printer paper tray to use for the first page.
TRAY_LAST The printer paper tray to use for the last page
TRAY_REST The printer paper tray to use for the all other pages (not being the first or last page)
COPIES Number of copies from routing printer
DUPLEX_MODE One of three values can be specified SIMPLEX, DUPLEX_VERTICAL or DUPLEX_HORIZONTAL
INSERTS An optional collective element. Three valid Inserts inside: INSERT_FIRST, INSERT_REST and INSERT_LAST with location attributes
INSERT_FIRST This will insert the specified pdf document before or after (according to its location attribute, if location attribute not specified then the default location is after) the first page of the report
INSERT_LAST This will insert the specified pdf document before or after (according to its location attribute) the last page of the report
INSERT_REST This will insert the specified pdf document before or after (according to its location attribute) the all other pages of the report

Report PDF insert

PDFs that are expected to be inserted should be imported via the Solution Manager page