Quantcast
Channel: Oracle Blog : apex
Viewing all articles
Browse latest Browse all 142

Crear Informe-Formulario tipo Maestro-Detalle en Oracle APEX 5.0

$
0
0

Una de las más populares características en Oracle APEX es el asistente para crear un formulario del tipo Maestro/Detalle con el cual fácilmente podemos crear un informe y su correspondiente formulario (Pantalla) para manejar los datos almacenados en la base de datos.

Hoy vamos a crear un formulario Maestro/Detalle a partir de las tablas DEMO_ORDERS y DEMO_ORDER_ITEMS de la aplicación DEMO de Oracle Application Express.

Creando el Informe y Formulario Maestro/Detalle

Creamos una aplicación de tipo escritorio llamada Demo Informe M-D, luego desde la página de inicio de la aplicación, hacemos clic en el botón Crear Página:

  1. Seleccionamos Pantalla
  2. Seleccionamos Pantalla Maestro/Detalle
  3. En Tabla Maestro y Columnas: seleccionamos:
    1. Nombre de Tabla/Vista: DEMO_ORDERS (tabla)
    2. Seleccionar Columnas: seleccionamos todas las columnas y lo pasamos al recuadro de la derecha y hacemos clic en el botón Siguiente

  4. En Tabla de Detalles y Columnas
    1. Nombre de Tabla/Vista: DEMO_ORDER_ITEMS
      Nota: No siempre las tablas del detalle están relacionadas con la tabla maestro con la clave foránea, es por ello que Apex permite mostrar todas las tablas si tildamos la opción Mostrar Sólo Tablas Relacionadas en No
    2. Seleccionar Columnas: pasamos todas las columnas al lado derecho y hacemos clic en el botón Siguiente
  5. Definir Clave Primaria: seleccionamos la clave primaria de cada tabla, para la tabla maestra es ORDER_ID y para la tabla Detalle es ORDER_ITEM_ID y hacemos clic en el botón Siguiente
  6. Para la Clave Primaria ORDER_ID tildamos Disparador Existente y hacemos clic en el botón Siguiente
  7. Para la Clave Primaria ORDER_ITEM_ID tildamos Disparador Existente y hacemos clic en el botón Siguiente
  8. En Opciones Maestras:
    1. Orden de Navegación de Fila Maestra: ORDER_TIMESTAMP
    2. Incluir Informe Maestro: Sí
    3. Hacemos clic en el botón Siguiente
  9. En Diseño
    1. Crear Maestro/Detalle con: Editar Detalles como Pantalla Tabular en la misma Página. (crea dos páginas)
    2. Hacemos clic en el botón Siguiente

  10. En Atributos de Página, colocamos los títulos y en Ruta de Navegación le asignamos en Entrada principal - Inicio (Página 1) y hacemos clic en el botón Siguiente

  11. En Preferencia de Navegación, tildamos Crear nueva entrada del menú de navegación y seleccionamos Inicio, luego hacemos clic en el botón Siguiente
  12. En Confirmar vemos el resumen de los datos y hacemos clic en el botón Crear

Ejecutamos la aplicación para ver los resultados:

A creado la Página 2 referente al Informe de Ordenes

Al hacer clic en el lápiz para editar una Orden, se abre la página 3 que permite Gestionar la Orden y el detalle de la Orden en una misma página:

Para que el formulario tabular sea más representativo y podamos saber cuál es el producto y editar el registro que está en la orden podemos cambiar el campo de texto del Product Id por una lista de selección.

Para ello creamos una Lista de Valores Dinámica en Componentes Compartidos que la llamaremos Productos.

Luego a la columna PRODUCT_ID de la Pantalla Tabular “Detalle Orden” le asignamos en propiedades en la sección Lista de Valores:

  • Tipo: Componente Compartido
  • Lista de Valores: PRODUCTOS
  • Mostrar Valores Adicionales: No

Cómo hemos podido ver, crear este tipo de Informes Maestro/Detalle es muy sencillo en APEX.

Por ahora no podemos realizar con el asistente la creación de un Informe Maestro / Detalle / Detalle, para lograr este requerimiento se necesita un poco más de trabajo, en un artículo posterior hablaré de como realizar este tipo de Informes en nuestra Aplicación en Apex.

Pero a no desesperarse que en el Oracle Application Express Statement of Direction de Octubre de este año anuncian que Oracle Apex 5.1 tendrá la característica de disponer de un asistente que nos permita realizar un Informe de tipo Maestro / Detalle / Detalle, gracias al Apex Team!!!

Hasta Pronto!


Viewing all articles
Browse latest Browse all 142


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>