Professional Documents
Culture Documents
través de un Botón
Publicado: abril, 2011 en Uncategorized
En el siguiente ejercicio vamos a llamar a un reporte a través de un Botón when buttton_pressed en Forms builder
1. Abrimos el Forms Builder teniendo en cuenta la creación del usuario hr con contraseña curso, en la ventana de comandos a
2. Creamos un reporte en Reports Developer Extension en un archivo .rdf llamado reporte el cual quedo guardado en la ruta
3. Creamos un Bloque de Datos en Forms llamando a la Tabla Empleados y asignamos el campo employee_idcomo nuestra
llave primaria.
4. Luego hacemos un informe dentro de Forms llamado Reporte y se le asigna el archivo reporte.rdf
5. Antes de terminar creamos un parámetro dentro de parameters de forms se le asigna employee_id tipo number (numérico)
valor en 1
repid REPORT_OBJECT;
paramlist_id:= get_parameter_list(paramlist_name);
destroy_parameter_list(paramlist_id);
paramlist_id:=create_parameter_list(paramlist_name);
add_parameter(paramlist_id,’EMPLOYEE_ID’,TEXT_PARAMETER,:employees.employee_id);
repid := find_report_object(‘REPORT6′);
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_OTHER,’paramform=no’);
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_EXECUTION_MODE,BATCH);
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’);
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_SERVER,’reporte’);
/*Ejecutamos el reporte*/
rep_status := report_object_status(v_rep);
rep_status := report_object_status(v_rep);
END LOOP;
if rep_status = ‘FINISHED’ then
WEB.SHOW_DOCUMENT(‘/reports/rwservlet/getjobid’||substr(v_rep,instr(v_rep,’_’,-1)+1)||’?server=trabajo’,’_blank’);
Else /*Sino*/
end if;
14JAN
Ejecutar un reporte desde oracle forms
Comments Off
Seleccionamos la ubicacion del reporte que se desea añadir ( para nuestro ejemplo, el archivo
c:\misreportes\prueba.rdf )
5. Verificar el valor de la variable REPORTS_PATH (en el registro de windows). Para nuestro ejemplo, el
valor debe contener la cadena c:\misreportes
declare
repid REPORT_OBJECT;
v_rep VARCHAR2(100);
rep_status Varchar2(20);
BEGIN
repid := find_report_object(‘REP_VINCULADO’);
–fijamos el valor para el formato de salida del reporte (html, pdf, rtf)
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESFORMAT,’html’);
–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
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 ejecucion’);
end if;
END;
martes, 12 de octubre de 2010
ADD_PARAMETER (pl_id,
'EMP_QUERY',--nombre del parametro del reporte
DATA_PARAMETER,
:EMP_RECS);-- item con el cual se va a parametrizar en reporte
ADD_PARAMETER (pl_id,
'PARAMFORM',
TEXT_PARAMETER,
'NO');-- esto es para que la ventana de los parametro no aparesca
--corro el reporte
RUN_PRODUCT (REPORTS,
'empreport',--nombre del reporte
SYNCHRONOUS,
RUNTIME,
FILESYSTEM,
pl_id,
NULL);
END;
Publicado por Jose Rafael San