Seleccionar página

Invocando un reporte de Oracle Reports desde Apex

Escrito por: Eddie Molina

Oracle ACE Pro. Oracle APEX Cloud Developer Certified Professional. Presidente de ORAUGCRC (Grupo de Usuarios Oracle de Costa Rica). Miembro de líderes de LAOUC. Conferencista, consultor, desarrollador y capacitador en tecnologías Oracle, especialmente Oracle Application Express con más de 30 años de experiencia.

14/11/2013

Una pregunta que muy frecuentemente recibo es ¿cómo puedo invocar un reporte de Oracle Reports desde Apex?; por este motivo en esta publicación, voy a explicar la manera en que se puede realizar dicha acción.

En primer lugar, he de mencionar que invocar un Report de Oracle, es hacer referencia a un URL, por esta razón, es posible hacer su invocación desde Apex de varias maneras.

La primer manera en que se puede llamar, es como parte de un “iframe” o “ilayer”, dependiendo del navegador que se esté utilizando, para esto, debemos crear en una página, una región de tipo “PL/SQL” (contenido dinámico) y en el “Origen de Región” incluir es siguiente segmento de código:

Declare
v varchar2(2000);
Begin
v := ”'<iframe src=”http://app_server:puerto/reports/rwservlet?server=nom_servidor+report=mi_reporte.rdf+userid=usuario/contraseña@instancia+desformat=dflt+destype=salida+desname=driver+paramform=yes+param=&CAMPO.”‘||
‘ height=”600″ width=”800″>’||
‘<ilayer src=”http://app_server:puerto/reports/rwservlet?server=nom_servidor+report=mi_reporte.rdf+userid=usuario/contraseña@instancia+desformat=dflt+destype=salida+desname=driver+paramform=yes+param=&CAMPO.”‘||
‘<p><a href=http://app_server:puerto/reports/rwservlet?server=nom_servidor+report=mi_reporte.rdf+userid=usuario/contraseña@instancia+desformat=dflt+destype=salida+desname=driver+paramform=yes+param=&CAMPO.”‘||
‘Haga clic aquí</a></p></ilayer>’||
‘</iframe>”’;
htp.print(v);
End;

La segunda manera, es incluir el URL hacia el reporte en un botón, utilizando esta opción lo que se debe hacer es:

  • Crear un elemento tipo botón dentro de una región.
  • En la sección “Acción al hacer clic en botón”:
  • En el campo “Acción”, seleccionar “Redirigir a URL”
  • En el campo “Destino de URL”, incluir el URL hacia el reporte:

http://app_server:puerto/reports/rwservlet?server=nom_servidor+report=mi_reporte.rdf+userid=usuario/contraseña@instancia+desformat=dflt+destype=salida+desname=driver+paramform=yes+param=&CAMPO.

En cualquiera de los dos casos anteriores se debe cambiar los siguientes campos:

app_server, por el nombre o dirección IP del servidor de aplicaciones ejecutando el servidor de Reports
puerto, por el puerto donde se ejecuta el servidor
nom_servidor, por el nombre del servidor de reportes que ejecutará el Report
mi_reporte.rdf, por el nombre del reporte a ejecutar
usuario/contraseña@instancia, por el usuario, contraseña y cadena de conexión de base de datos
desformat, puede mantener dflt, o cambiar por el formato de salida que desea utilizar
salida, debe cambiarlo por el dispositivo de salida a utilizar para mostrar en reporte: Screen, Printer, etc.
driver, por el nombre del controlador de impresora utilizado para el reporte, o bien, puede omitirlo.
paramform, puede utilizar “yes” para que se muestre la pantalla de parámetros o “no” para que no se muestre
param=&CAMPO., por el nombre del parámetro que desea pasar y su correspondiente valor, los puede omitir si no los tiene o puede pasar más de uno.

También te puede gustar…

Share This