В качестве альтернативы тому, что указал @Littlefoot, вы можете использовать Report conversion tool
из Fusion Middleware. После обработки с помощью этого инструмента Rp2Rro.pll
следует подключить через часть прикрепленных библиотек формы.
В конце концов, вы можете добавить специальную процедуру как:
Procedure Pr_Print_Rp2Rro(
Rep_id in out varchar2,
i_param_name varchar2,
i_param_var varchar2,
i_param_frm varchar2, -- 'Yes','No'
i_repsrv varchar2,
i_desname varchar2,
i_destype varchar2 default 'FILE',
i_desformat varchar2 default 'PDF'
) Is
pl_login1 ParamList;
arr_param_name owa.vc_arr;
arr_param_var owa.vc_arr;
Begin
pl_login1 := Get_Parameter_List('REPPARAM');
if not Id_Null(pl_login1) then
Destroy_Parameter_List('REPPARAM');
end if;
pl_login1 := Create_Parameter_List('REPPARAM');
Add_Parameter(pl_login1, 'PARAMFORM', Text_Parameter, i_param_frm);
Add_Parameter(pl_login1, 'RP2RROREPORTSERVER', Text_Parameter, i_repsrv );
Add_Parameter(pl_login1, 'RP2RRODESTYPE', Text_Parameter, i_destype );
Add_Parameter(pl_login1, 'RP2RRODESNAME', Text_Parameter, i_desname );
Add_Parameter(pl_login1, 'RP2RRODESFORMAT', Text_Parameter, i_desformat );
for i in 1..100
loop
arr_param_name(i) := substr(i_param_name,instr(i_param_name,'|',1,i)+1,
instr(i_param_name,'|',1,1+i)-instr(i_param_name,'|',1,i)-1);
arr_param_var(i) := substr(i_param_var,instr(i_param_var,'|',1,i)+1,
instr(i_param_var,'|',1,1+i)-instr(i_param_var,'|',1,i)-1);
if length(arr_param_name(i)) > 0 then
Add_Parameter( pl_login1, arr_param_name(i) , Text_Parameter, arr_param_var(i) );
end if;
end loop;
Rep_id := ltrim(rtrim(:Global.Report_id));
Rp2rro.Rp2rro_Run_Product(Reports, Rep_id, Synchronous, Runtime,Filesystem, pl_login1,null);
End;
это можно было бы вызвать (из кнопки в качестве примера), например:
declare
vvc_location tabFeederDesign.vvc_location%type;
vch_feeder tabFeederDesign.vch_feeder%type;
v_Rep_id varchar2(500):='Rep123';
v_server varchar2(500):='mySrv';
v_file varchar2(500):='file456';
begin
Pr_Print_Rp2Rro(v_Rep_id,'|P_MONTH|LOCATION_CODE|FEEDER_NO1|','|'||:BLK_REPORT.BILL_CYCLE_CODE||'|'||vvc_location||'|'||vch_feeder||'|','No',v_server,v_file);
end;
person
Barbaros Özhan
schedule
25.10.2018