The package XLIB_JASPERREPORTS is the interface which accepts the parameters, generates the url and calls the integration on the locally installed J2EE server.
e.g.:
declare
l_additional_parameters varchar2(32767);
begin
xlib_jasperreports.set_report_url('http://localhost:8080/JasperReportsIntegration/report');
-- construct addional parameter list
l_additional_parameters := 'parameter1=' ||
apex_util.url_encode(:p1_filter_object_name);
l_additional_parameters :=
l_additional_parameters || '¶meter2=' ||
apex_util.url_encode(:p1_filter_object_type);
-- call the J2EE application and display
the returned file
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 => l_additional_parameters,
p_print_is_enabled => case when
:p5_print_is_enabled='1' then true else false end,
p_print_printer_name => :p5_print_printer_name,
p_print_media
=> :p5_print_media,
p_print_copies =>
:p5_print_copies,
p_print_duplex =>
case when :p5_print_duplex='1' then true else false end,
p_print_collate => case
when :p5_print_collate='1' then true else false end,
p_save_is_enabled => case when
:p5_save_is_enabled='1' then true else false end,
p_save_filename =>
:p5_save_filename,
p_rep_time_zone =>
:p5_rep_time_zone
);
-- stop rendering of the current APEX page
(APEX version up until version 4.0)
-- apex_application.stop_apex_engine;
-- stop rendering of the current APEX page
(APEX version 4.1 and higher)
apex_application.stop_apex_engine;
end;
Here is a description of the input parameters:
parameter | description | default value | required? |
---|---|---|---|
p_rep_name |
name of the report (needs a name.jasper file deployed on the server) | test |
*
|
p_rep_format |
format of the generated format: see constants in package XLIB_JASPERREPORTS, e.g. pdf, html, html2, rtf, xls, jxl, csv, xlsx, pptx or docx |
*
|
|
p_data_source | data source name, needs to be configured
application.poperties file |
default |
*
|
p_out_filename | a filename can be specified for the download for the "save as" dialog |
|
|
p_rep_locale |
Locale string (e.g. de_DE or en_US), composed of the |
de_DE |
|
p_rep_encoding |
the "charset" parameter for the content_type, a list of
valid
entries can be found here. |
UTF-8 |
|
p_additional_parameters | all parameters are passed directly to the report (excluding the the internal ones (prefixed with "_", e.g.: p1=1&p2=2) | ||
p_print_is_enabled |
shall the report be sent to
the printer directly? |
false |
|
p_print_printer_name |
name of the printer (only when
p_print_is_enabled=true) |
||
p_print_media |
media used, either the paper size or the tray (only when p_print_is_enabled=true) | ||
p_print_copies |
number of copies to be printed (only when p_print_is_enabled=true) | ||
p_print_duplex |
duplex printing? (only when p_print_is_enabled=true) | ||
p_print_collate |
sorting the print output? (only when p_print_is_enabled=true) | ||
p_save_is_enabled |
shall the generated file be saved on the
application server, too? |
||
p_save_filename |
fully specified path to the filename where the output should be saved on the server (only when p_save_is_enabled=true) | ||
p_rep_time_zone |
"time zone" parameter for the execution of
the report, a list of valid entries can be found here: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones e.g.: Europe/Berlin, UCT, US/Central, US/Pacific, Etc/Greenwich, Europe/London |
The report files will have to be stored on the application
server.
Copy
the compiled version (report.jasper)
of your report definition file (test.jrxml)
into the
directory OC_JASPER_CONFIG_HOME/reports/.
You can also create subdirectories to organize your reports.
For
example if you have different reports in your application
application1
for sales and for controlling:
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.
You can control the behaviour when exporting the report into the different report formats like pdf, html, rtf, xls, jxl, csv, xlsx, pptx or docx.
You can find the configuration reference at: