Mostrando entradas con la etiqueta Oracle Reports. Mostrar todas las entradas
Mostrando entradas con la etiqueta Oracle Reports. Mostrar todas las entradas

domingo, 29 de marzo de 2015

Enlaces de datos en Report Builder

Los enlaces de datos(Datalinks) son usado a para establecer relaciones Padre -Hijo entre consultas por medio de sus columnas o grupos . Un enlace de datos puede establecer las siguientes relaciones: 
  • Entre una consulta de una columna a otra
  • Entre una consulta de un grupo a otro

Aunque los enlaces comúnmente son entre los mismo campos, puede crear enlaces de varias clausulas (Usando WHERE, HAVING, O START WITH) o condiciones.

Agregar Enlace de datos
Debe ubicarse en la vista de Modelo de Datos, haga clic en la herramienta de enlace de datos en la paleta de herramientas. Puede ubicar el icono tan solo colocando el puntero de mouse hasta que se indica Enlace datos como nombre del icono.


Hacer clic y ubicar aquella columna que desea asociar o enlazar la información con otra columna de otra consulta. Por ejemplo se ha creado dos consultas uno que obtiene las facturas de ventas y otro el detalle de cada una. Para enlazar se da clic a la columna FACVENTA  debemos arrastrar el enlace hacia la otra columna FacVenta1 del grupo G_DETALLE. 



Al soltar el puntero del mouse se puede observar que se dibuja una línea desde la parte inferior del grupo G_VENTAS el cual contiene una flecha hacia el grupo G_DETALLE. Esto nos indica que el enlace se concluyo con éxito.


Si hacemos  doble clic en la nueva línea de enlace de datos nos va a mostrar el inspector de propiedades, donde podemos visualizar que G_VENTAS se identifica como el padre, mientras Q_2 aparece como el hijo. Por defecto se ha seleccionado la clausula WHERE aunque este lo puede cambiar por otra clausula.


El otro punto a notar es que un signo de igual (=) como la condición por defecto para las relaciones a través de un enlace de datos. Puede reemplazar el signo de igualdad con cualquier otro operador condicional soportado (para ver lo que es compatible, haga clic en el campo), pero para este informe el valor predeterminado es el correcto.

jueves, 23 de octubre de 2014

SRW.MESSAGE

SRW.MESSAGE este proceso muestra un mensaje en base a un numero de mensaje y un texto. Cuando uno ejecuta un reporte este proceso ayuda a mostrar mensajes de indicación o de advertencias en ciertas partes del código. Se utiliza principalmente para depurar reporte en Report Builder.

SRW.MESSAGE(msg_number NUMBER, msg_text CHAR);

Parametros

Msg_Number : es un numero de 1 a 10 dígitos , el cual muestra una línea de mensaje. Numero menos que 5 dígitos se rellenara con ceros para completar 5 dígitos. Por ejemplo se especifica 123, debería mostrar SRW-00123.

Msg_text: Con un límite de 190 esta variable de caracteres alfanuméricos se mostrara en una línea de mensaje.

Restricciones

  • No se puede interceptar ni cambiar mensajes de error de Report Builder
  • SRW.MESSAGE no hace terminar la ejecución del reporte. Para terminar el reporte debe utilizar SRW.PROGRAM_ABORT.
  • Cualquier espacio extra en el mensaje no serán removidos por el Report Builder.


Podemos aplicar SRW.MESSAGE para mensajes de advertencia tal como el siguiente ejemplo:


martes, 7 de octubre de 2014

User Exits in Oracle Reports

Cuando desarrollamos reportes por Report Builder, hay ocasiones que usamos vistas o el uso de perfiles que van a depender de como estamos consultando en el EBS ya sea por Responsabilidad o por la Organización, la información a consultar sera diferente. En el archivo .rdf podemos inicializar los perfiles pero hay otra forma mas practica, tan solo utilizando los User Exits.

Los User Exits son APIS para transferir información del Report Builder a Aplicaciones de ORACLE o cualquiera , donde se llevará a cabo la ejecución del reporte. Para entender esta funcionalidad la explicación es sencilla , cuando ejecutamos un programa concurrente, se genera un id de solicitud bajo el parámetro P_CONC_REQUEST_ID. Cuando utilizamos los User Exits indicando el comando FND SRWINIT en el Trigger Before Report en el Report Builder. El API utiliza el id de la solicitud para consultar el contexto en las Aplicaciones de Oracle, al encontrarlo inicializa todos  valores  de la sesión por defecto. 

Al tener los valores de sesión inicializados podemos usar el reporte para nuestras consultas en base a los acceso por responsabilidades o organizaciones. Es necesario agregar el parámetro  P_CONC_REQUEST_ID definido como un parámetro de usuario en el reporte, de lo contrario el API finaliza en error indicando agregar dicho parámetro en el reporte.




User Exists

FND SRWINIT: 
Se utiliza para buscar la información de la solicitud del programa concurrente y también para establecer las opciones de perfil. En él se establecen los valores de las opciones del perfil y permite que el usuario obtenga la información en base a sus accesos y privilegios.

Se utiliza en el Trigger before report ,tal como se muestra a continuacion:


function BeforeReport return boolean is
begin
  SRW.user_exit('FND SRWINIT');
  return (TRUE);

end;

FND SRWEXIT: 
Se utiliza para liberar la memoria que ha sido asignado por los otros User Exist. Este comando  asegura que toda la memoria asignada se  ha liberado correctamente. 

Se utiliza en el Trigger After report ,tal como se muestra a continuacion:


function AfterReport return boolean is
begin
  srw.user_exit('FND SRWEXIT');
    RETURN (TRUE); 

end;

jueves, 18 de septiembre de 2014

Tipos de Columnas en Report Buider

En Report Builder el modelo de datos se compone de objetos que se utilizan para definir la parte de datos de un informe. Dentro de estos objetos se encuentran las columnas que representan las columnas de la fuente de datos que se seleccionan por la consulta. También podemos definir columnas especiales: Place Holder,Formula y Summary Colummn.




Summary Columns
Un Summary Column realiza un cálculo en los datos de otra columna. Con esta columna puede  crear suma, promedios, recuento, mínimo, máximo, porcentajes, porcentaje de totales. También puede crear una columna de resumen manualmente en la vista de modelo de datos, y utilizar el inspector de propiedades para crear los siguientes sumarios adicionales: primero, último Desviación Estándar, Varianza.




Formula  Columns
Un Formula Column  realiza un cálculo definido por el usuario en los datos de uno o más columna(s), incluidas las columnas Place Holder. Por ejemplo: Element_01 * 0.07 es una fórmula que lleva a cabo un cálculo en una columna, mientras que :SAL + :COMM realiza un cálculo utilizando dos columnas de un registro. Puede crear fórmulas en PL / SQL utilizando el Editor PL / SQL.



Placeholder  Columns
Un PlaceHolder Column se establece como un  tipo de datos o  valor en PL / SQL. Estas columnas son útiles cuando se desea establecer selectivamente el valor de una columna (por ejemplo, cada vez que el enésimo registro es recuperada, o cada vez que un registro contiene un valor específico ,entre otros). Puede establecer el valor de una C olumna PlaceHolder en los siguientes lugares: 

  • En el Trigger Before Report, si la columna PlaceHolder es una columna a  nivel del informe.
  • Dentro de un Formula Column, si la columna  PlaceHolder es una columna a  nivel del informe.
  • Una fórmula dentro de la columna  PlaceHolder o un grupo por debajo de la columna (el valor se establece  una vez para cada registro del grupo).


miércoles, 16 de julio de 2014

Diferencias entre Frame y Repeating Frame

En Report Builder tenemos el Modelo de Diseño para diseñar nuestros Reportes de acuerdo a la necesidad del usuario final. Anteriormente se había explicado que los Marcos (Frames) se usan para rodear otros objetos y protegerlos de sobre escritura o ser empujados por otros objetos. Por ejemplo, un marco puede ser utilizado para agrupar todos los objetos que pertenecen a un grupo de columnas de importes , y separarlos de otro Marco que agrupa columnas de tipo Resumen (Column Summary) como el total de los importes.

Dependiendo de como sera el diseño del reporte se  crearán los  marcos,según sea necesario. En cambio los Marcos de Repetición(Repeating Frame) agrupan todos los campos que se crean para las columnas de un grupo. Durante la impresión del reporte el Marco de Repetición  se repetirá  para cada registro del grupo. Por ejemplo, Al marco de Repetición le ponemos la información de importe por linea de OC, durante la impresión si la OC tiene 5  lineas , el Marco de Repetición mostrara 5  registros de acuerdo a la cantidad de líneas de la OC.


martes, 15 de julio de 2014

Visión General Oracle Reports



Oracle Report es una herramienta de desarrollo que se utiliza para generar los informes sobre datos almacenados en la base de datos. En el día a día las transacciones comerciales de los usuarios pueden requerir diferentes tipos de informes que se generan con los datos almacenados en la base de datos en el formato prescrito. La herramienta Oracle Report hace que la vida de los desarrolladores sea más fácil desarrollar el informe que cumple con los requisitos del usuario. Oracle Report tiene la flexibilidad para generar los informes en PDF, TXT, RTF, HTML y Excel. 

Elaboración de informe mediante Report builder se divide en dos ategorías: 
  • Diseño de modelo de datos (es decir, los datos del informe)
  • Diseño de Plantilla (es decir, de diseño o apariencia del informe)

 El flujo básico de los informes de Oracle es la siguiente: 
  1. El usuario envía la solicitud de informe.
  2. Oracle report va a interactuar con la base de datos para recopilar los datos necesarios para el informe de generación.
  3. Oracle report va a rellenar los datos que el formato de diseño definido.
  4. Finalmente genera la salida para el usuario.
Modelo de datos
El modelo de datos se compone de objetos que se utilizan para definir la parte de datos de un informe. El Modelo de datos incluye:
  • Consultas
  • Columnas
  • Grupos
  • Parámetros
  • Enlaces de datos



Consultas:
Sirve para seleccionar los datos de un origen de datos estándar como oracle, DB2, o SQL utilizando SELECT o sentencias PL/SQL.

Columnas:
Representan las columnas de la fuente de datos que se seleccionan por la consulta. También podemos definir columnas sobre la base de valores calculados tal como resúmenes (también llamados totales) o valores que figuran condicionalmente.

Grupos:
Organizar los datos en conjuntos y jerarquías, por defecto se crea un grupo para cada consulta en el informe. El grupo contiene todas las columnas seleccionadas por la consulta.

Parámetros:
Los parámetros son variables, como el nombre de la impresora a la que los usuarios pueden asignar valores, cuando se ejecuta el informe

Enlace de datos(Data Link):
Los Enlaces de datos se utilizan para definir una relación maestro/detalle (padre e hijo) entre los datos de las dos consultas. 


Modelo de Diseño:
El Modelo de Diseño sirve para visualizar el diseño del informe. Se utiliza para mostrar los datos que hemos extraído de la base de datos según el modelo de datos.En el modelo de diseño tenemos la oportunidad de colocar:
  • Marcos de Repetición
  • Marcos
  • Campos
  • Anclajes
  • Los objetos de la placa de la caldera
  • Botones


Marcos de Repetición (Repeating frames): Marcos de repetición se utilizan para mostrar las filas de datos que se recuperan de un grupo. Por lo tanto, "repetir" hasta que se recupera todos los datos.

Marcos (Frames): Los marcos se utilizan para guardar objetos del diseño en conjunto y se pueden utilizar para proteger los objetos de diseño que se sobrescriban mediante la repetición de tramas en tiempo de ejecución.

Campos (Fields): Campos que se definen cómo aparecen las columnas en un informe, como el formato de los importes en moneda y fechas

Anclas (Anchors): Las anclas se usan para determinar la posición relativa de un objeto a otro en un informe. El ancla fija el objeto anclado, como un hijo, a un objeto de anclaje, o padre. 

Objetos Repetitivos (Boilerplate objects): Los objetos repetitivos son objetos que aparecen en el informe cada vez que se ejecuta el informe. Ejemplos de objetos repetitivos son etiquetas de campo y gráficos.

Botones (Buttons): Los botones son objetos los usuarios pueden hacer clic en un informe en línea para visualizar vídeos, sonidos o imágenes, o ejecutar un programa de PL/SQL que realiza alguna acción, como el lanzamiento de un nuevo informe.


martes, 18 de marzo de 2014

Oracle FORMs y Oracle REPORTs

Introducción a Oracle Forms

Oracle Forms no es más que la herramienta de desarrollo que nos proporciona el conjunto de productos Oracle Developer en el campo de las GUI (Interfaces Gráficas de Usuario). Además, nos ofrece la suficiente flexibilidad para ajustar las aplicaciones con el fin de sacarles el máximo rendimiento.

Oracle Forms nos da la posibilidad de realizar aplicaciones de una forma más vistosa y sencilla, ya que nos proporciona una herramienta visual con la que diseñar las pantallas con total libertad para poder desarrollar todo tipo de aplicaciones. El lenguaje de programación en el que trabajaremos será PL/SQL.

Esta herramienta está compuesta por una gran cantidad de funciones que permiten construir aplicaciones con gran facilidad, ya que se maneja con el ratón y ofrece la posibilidad de realizar la mayor parte del desarrollo de las aplicaciones sin tener que codificar apenas nada, gracias a la generación de código y a la gestión automatizada que genera Oracle Forms al utilizar objetos asociados a datos.

Las aplicaciones en Oracle Forms hacen posible lo siguiente:
- Introducir, actualizar, borrar y consultar datos almacenados en la Base de Datos, en otras palabras, interactuar completamente con la base de datos Oracle con la cual estemos trabajando.
- Controlar formularios a través de varias ventanas. Realizar transacciones de Bases de Datos.
- Enviar datos directamente a Oracle Reports.

Es importante tener en cuenta que:
− El lenguaje de programación utilizado por Oracle Forms es PL/SQL.
− El principal vínculo de unión Oracle Forms con la Base de Datos es lo que denominamos un Bloque, el cual está asociado con un objeto de la Base de Datos, que puede ser una tabla o un Procedimiento y a su vez se componen de items y tanto los items como los bloque podrán tener triggers o disparadores.
− Las Herramientas que utiliza Oracle Forms son: el editor de diseño o de presentaciones (layout editor) para diseñar las pantallas; el navegador de objetos (object navigator) para controlar todos los objetos (con sus propiedades) de los formularios; y el editor PL/SQL (PL/SQL editor).
− A partir de la versión 9i de Oracle Forms se dejo ó de utilizar el entorno cliente/servidor lo que obligó a incorporar los Java Beans para realiza cualquier tipo de programación que no te ofrezca Oracle Forms 9i. Para ello Oracle Developers nos proviene de una herramienta que realiza las funciones de servidor local.
− Los Tipos de archivos usados por Oracle Forms son los siguientes:

Formularios: *.FMB -> *.FMX
Menús: *.MMB -> *.MMX
Librerías: *.PLL ->*.PLX



Introducción a Oracle Reports

Oracle Reports nos permite gestionar de manera sencilla todo tipo de listado. Disponemos de muchas posibilidades dentro de esta herramienta que nos permiten hacer una visión previa de los resultados de una manera cómoda y rápida.

Tenemos a nuestra disposición tres programas que conforman Oracle Reports:
- Diseñador: En él definimos y diseñamos nuestros listados e informes.
- Generador: Genera aplicaciones construidas por el diseñador convirtiéndolas en ejecutables que puede manejar el programa de ejecución.
- Ejecución. Este modulo ejecuta las aplicaciones creadas con los dos anteriores.

Podemos decir que existen tres fases distintas para realizar un informe. Primero creamos la definición de dicho informe, su estructura. Luego definimos el modelo de datos, es decir los datos que vamos a utilizar, sus relaciones, etc. Por fin diseñamos la forma que va a tener, su apariencia física

Reporte: *.RDF