Вы можете создать такую процедуру в своей форме:
Procedure Pr_Print( i_document varchar2 ) Is
pl_id paramlist;
pl_list paramlist;
my_rep_server varchar2(500);
Begin
pl_list := Get_Parameter_List('tmpdata');
if not Id_Null(pl_list) then
Destroy_Parameter_List(pl_list);
end if;
pl_list := Create_Parameter_List('tmpdata');
set_report_object_property('RP2RRO', report_filename, i_document );
set_report_object_property('RP2RRO', report_server, my_rep_server);
add_parameter(pl_id, 'column1', text_parameter, :col1 );
add_parameter(pl_id, 'column2', text_parameter, :col2 );
rp2rro.rp2rro_run_product(reports, i_document, synchronous, runtime,
filesystem, pl_id, null);
End;
, где rp2rro.rp2rro_run_product
- это метод, полученный из rp2rro.pll
( двоичный библиотечный модуль, предоставляемый Oracle ),при условии, что у вас есть col1
и col2
текстовые поля в нем.
И вызовите его из триггера WHEN-BUTTON-PRESSED
кнопки с кодом:
Pr_Print('myDocument');
PS библиотека rp2rro.pll
также должна быть установлена и настроена на сервере приложений.Так как Reports 11g
работает в приложении.сервер как веб-приложение.