Informes Proc Llamada

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 2

PROCEDIMIENTOS PARA LLAMAR A UN DOCUMENTO PDF DESDE FORMS

-- CODIGO PARA LLAMAR A UN INFORME PARAMETRIZADO POR UN CAMPO.


PROCEDURE IMPRIMIR1 (NOMBRE VARCHAR2, PARAM VARCHAR2, DATO VARCHAR2) IS
repid REPORT_OBJECT;
v_rep VARCHAR2(100);
rep_status Varchar2(20);
BEGIN
repid := find_report_object(NOMBRE);
--
-- Determinamos si se visualizará la ventana de parámetros
SET_REPORT_OBJECT_PROPERTY(repid, REPORT_OTHER, PARAM||'='||DATO);
--SET_REPORT_OBJECT_PROPERTY(repid,REPORT_EXECUTION_MODE, BATCH);
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_EXECUTION_MODE, RUNTIME);
--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,'pdf');
--fijamos el valor para el servidor de reportes que ejecutará el report
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_SERVER,'rep_servidor');
--
--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
-- Mostramos el informe generado
WEB.SHOW_DOCUMENT('/reports/rwservlet/getjobid'||substr(v_rep,instr(v_rep,'_',-1)+1)||'?'||'server=rep_servidor','_blank');
Else
message('error en la ejecucion');
end if;
END;
PARAMETROS:
NOMBRE. Recibe el nombre del informe declarado en forms.
PARAM. Recibe le nombre del parámetro definido en report
DATA. Recibe el valor del dato que servirá para parametrizar la select de la que se alimenta el report.

-- CODIGO PARA LLAMAR A UN INFORME PARAMETRIZADO POR DOS CAMPOS.

PROCEDURE IMPRIMIR2 (NOMBRE VARCHAR2, PARAM1 VARCHAR2, DATO VARCHAR2, PARAM2 VARCHAR2,
DATO2 VARCHAR2) IS
repid REPORT_OBJECT;
v_rep VARCHAR2(100);
rep_status Varchar2(20);
BEGIN
repid := find_report_object(NOMBRE);
--
-- Determinamos si se visualizará la ventana de parámetros
SET_REPORT_OBJECT_PROPERTY(repid, REPORT_OTHER, PARAM1||'='||DATO||' '||PARAM2||'='||DATO2);
--SET_REPORT_OBJECT_PROPERTY(repid,REPORT_EXECUTION_MODE, BATCH);
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_EXECUTION_MODE, RUNTIME);
--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,'pdf');
--fijamos el valor para el servidor de reportes que ejecutará el report
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_SERVER,'rep_servidor');
--
--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=rep_servidor','_blank');
Else
message('error en la ejecucion');
end if;
END;

CREAR UN SERVIDOR DE REPORTS LOCAL


rwserver server=rep_servidor autostart=yes

PROBAR UN SERVIDOR LOCAL LLAMADO rep_servidor

http://pc_bautista:8889/reports/rwservlet/getserverinfo?server=rep_servidor

También podría gustarte