1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
procedure lancer_report
( p_server_name varchar2,
p_report_name varchar2,
p_param_list paramlist default null ,
p_desType number default FILE ,
p_desName varchar2 default null ,
p_desFormat varchar2 default 'pdf'
)
is
lMachine varchar2(200);
lRepObj report_object;
lRepServer varchar2(100);
lRepJobId varchar2(100);
lJobId varchar2(100);
lRepStatus varchar2(30);
Begin
lRepServer := p_server_name; --on recupère le nom du serveur
lRepObj := find_report_object(p_report_name);
set_report_object_property(lRepObj,report_server,lRepServer);
set_report_object_property(lRepObj,report_execution_mode,RUNTIME);
set_report_object_property(lRepObj,report_comm_mode,ASYNCHRONOUS);
set_report_object_property(lRepObj,report_desType,p_desType);
set_report_object_property(lRepObj,report_desName,p_desName||'.'||p_desFormat);
set_report_object_property(lRepObj,report_desFormat,p_desFormat);
--set_report_object_property(lRepObj,report_fileName,p_report_name);
--lRepJobId := run_report_object(report_id => lRepObj,paramlist_id => p_param_list);
lRepJobId := run_report_object(lRepObj,p_param_list);
lRepStatus := REPORT_OBJECT_STATUS(lRepJobId);
lJobId := substr(lRepJobId,length(lRepServer)+2);
If lRepStatus = 'FINISHED' then
If p_desType = cache then
lJobId := substr(lRepJobId,length(lRepServer)+2);
If lJobId != 0 then
--lRepStatus := REPORT_OBJECT_STATUS(lRepJobId);
--If lRepStatus = 'FINISHED' then
WEB.SHOW_DOCUMENT('http://slaptop:8890/reports/rwservlet/getjobid'||lJobId||'?server='||lRepServer,'_blank');
End if;
else
if p_desType = file then
--lRepStatus := REPORT_OBJECT_STATUS(lRepJobId);
message('Etat achévé');
message('Etat achévé');
--WEB.SHOW_DOCUMENT('http://slaptop:8890/reports/rwservlet/getjobid'||lJobId||'?server='||lRepServer,'_blank');
copy_report_object_output(lRepJobId,'c:/local.pdf');
host('C:\Program Files\Mozilla Firefox\firefox.exe c:\local.pdf');
--end if;
end if;
End if;
End if;
null;
End; |
Partager