Integration and Usage

 

Call Interface

The package XLIB_JASPERREPORTS is the interface which accepts the parameters, generates the url and calls the integration on the locally installed Apache Tomcat server.

e.g.:

begin
  xlib_jasperreports.set_report_url('http://localhost:8080/JasperReportsIntegration/report');
  xlib_jasperreports.show_report (p_rep_name => :p5_rep_name,
                                  p_rep_format => :p5_rep_format,
                                  p_data_source => :p5_data_source,
                                  p_out_filename => :p5_out_filename,
                                  p_rep_locale => :p5_rep_locale,
                                  p_rep_encoding => :p5_rep_encoding,
                                  p_additional_params => :p5_additional_params);

  -- stop rendering of the current APEX page
  apex_application.g_unrecoverable_error := true;
end;

Here is a description of the input parameters:

parameter description default value required?
_repName specifies the report name test
*
_repFormat the report format, e.g. pdf, html, rtf, xls, jxl, csv pdf
*
_dataSource entry from the context.xml file, e.g. test, default, test2 default
*
_outFilename a filename can be specified for the download for the "save as" dialog  
 
_repLocale

Locale string, composed of the
ISO language code and
ISO country code

de_DE
 
_repEncoding

the "charset" parameter for the content_type, a list of valid entries can be found here.
E.g.: ISO-8859-15, UTF-8, Windows-1252

UTF-8
 
additional parameters all parameters are passed directly to the report (excluding the the internal ones (prefixed with "_")    


Deployment of reports

New reports will have to be stored on the application server. Copy the report.jasper file into the directory TOMCAT_HOME/webapps/JasperReportsIntegration/reports/. You can also create a subdirectory under reports and put the files there. Make sure to reference the file correctly, see the test application for samples.

Input parameter for the reports

You can specify input parameters for the reports and use them as a filter. They have to be defined as STRING, they cannot be number or any other data type. This is due to how the integration calls the reports. See the report demo/orders.jrxml or demo/top_orders.jrxml as a sample. Both use the input parameter pAppUser for filtering the data set.