Nombre: Ejecutar un reporte desde oracle forms
Descripción:
Ejemplo de como hacer para ejecutar un reporte desde oracle form
URL: http://www.mygnet.net/codigos/oracle/formularios/ejecutar_un_reporte_desde_oracle_forms.1422
Código Fuente:
Declare
repid REPORT_OBJECT;
v_rep VARCHAR2(100);
rep_status Varchar2(20);
BEGIN
repid := find_report_object('REP_VINCULADO');
-- Determinamos si se visualizará la ventana de parámetros
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_OTHER,'paramform=no');
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_EXECUTION_MODE,BATCH);
--Fijamos el valor para el tipo de ejecución (SYNCHRONOUS, ASYNCHRONOUS)
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_COMM_MODE,SYNCHRONOUS);
--Fijamos el valor para el tipo de salida(cache, printer, file, mail..)
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESTYPE,CACHE);
--fijamos el valor para el formato de salida del reporte (html, pdf, rtf)
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESFORMAT,'html');
--fijamos el valor para el servidor de reportes que ejecutará el report
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_SERVER,'nombre_del_servicio_de_reportes');
--ejecutamos el reporte
v_rep := RUN_REPORT_OBJECT(repid);
rep_status := report_object_status(v_rep);
WHILE rep_status in ('RUNNING','OPENING_REPORT','ENQUEUED') LOOP
rep_status := report_object_status(v_rep);
END LOOP;
if rep_status = 'FINISHED' then
--Visualizamos la salida del reporte
WEB.SHOW_DOCUMENT('/reports/rwservlet/getjobid'||substr(v_rep,instr(v_rep,'_',-1)+1)||'?'||'server=nombre_del_servicio_de_reportes','_blank');
Else
message('error en la ejecución');
end if;
END;