SISEFIC / - Ingreso de Orden con Oracle 12c - ( OE )

Ingreso de Orden con Oracle 12c - ( OE )

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado
 

En esta oportunidad se creara una forma de Oracle forms 12c, basada en el esquema OE (Order Entry).

Como siempre expongo los requisitos para crear y ejecutar este ejemplo a continuacion:

Host de la imagen virtualizada listada en la siguiente línea. Este host tiene sistema operativo Windows 10.

Base de datos Oracle Developer Day. Imagen virtualizada de Linux 7 conteniendo Oracle Database server versión 12C, bajada del sitio web de Oracle.

Esquema de ejemplo OE: Sample schemas

Oracle forms developer version 12c

Estos elementos arriba descritos son a nivel de maquinas que contendrán no solo los sistemas operativos listados, sino la base de datos, Oracle 12c y los archivos necesarios para su correcto funcionamiento. Lo primero será suponer que ya se tiene corriendo y con correcto funcionamiento esta maquina virtual conteniendo la base de datos Oracle 12c con el esquema de ejemplo OE. 

Como referencia y lectura de procedimiento para habilitar los esquemas de ejemplo: Procedimiento para instalar/habilitar los esquemas de ejemplo.

El primer paso sera conectarse a Oracle forms builder con el usuario OE y si no han cambiado la contrasena que viene por defecto en los esquemas de ejemplo, entonces podran ingresar oracle como contrasena.

 Luego de habernos autenticado como un usuario (OE) que tiene habilidad de trabajar en este esquema, nos dirigimos a crear la forma presionando el icono verde de + como se ve en la imagen:

 En el recuadro de "New Data Block", elegimos la primera opcion "Use the data block wizard"

Siguiente eleccion sera "Table or view"

El siguiente recuadro nos permitira elegir la tabla base de esta forma. Para elegirla se debe presionar el boton "Browse".

Elegimos la tabla ORDERS.

 

 En la siguiente pantalla necesitamos elegir todas las columnas de la tabla.

 Luego de presionar ese boton, tendremos elegidas todas las columnas.

Luego confirmamos el nombre del data block como "Orders" y presionamos Next.

Luego elegimos "Create the data block, then call the layout wizard".

Presionar finish.

Layout wizard:

Desde la siguiente pantalla presionamos el boton >> para elegir todos los items hacia displayed items.

En la siguiente pantalla debemos elegir los tamanos de cada campo deplegado. Aca debemos de inteligentemente elegir la cantida de pixeles que cada uno tendra, pensando el el tamano de el titulos de cada uno y los valores que contendra.

 La siguiente decision es muy importante, ya que definira la forma en que el grupo de datos sera presentado.

La opcion FORM presentara un registro cada vez que tengamos la pantalla visible, y para ver mas registros se debera cambiar al siguiente registro via la opcion NEXT_RECORD o presionando un boton que ejecute esto.

La opcion TABULAR presentara los registros como si se estuviera viendo una hoja de calculo electronica (excel por ejemplo). Esta forma de mostrar los registros nos permite editar varios registros.

ACLARACION: Estas 2 forms de despliegue estan creadas para mostrar de forma normalizada las relaciones MAESTRO-DETALLE. Luego en este ariculo se vera a mas detalle esta relacion de datos en las formas.

 Luego de elegir el tipo de visualizacion de los datos en forma de un registro cada vez. Esta sera la parte de la forma que mostrara el maestro de los datos en esta relacion maestro / detalle.

Muy importante escoger que mostrara solamente 1 registro a la vez.

 La primera parte de este ejercicio esta creado luego de darle finish a la siguiente pantalla:

Presionar el icono de GUARDAR y queda la primera parte del ejercicio establecida.

Luego ir a la seccion de trigger y agregar uno nuevo WHEN-NEW-FORM-INSTANCE

Se agrega el siguiente codigo pl/sql:

GO_BLOCK('ORDERS');
EXECUTE_QUERY;

Lo volvemos a guardar, luego presioamos RUN FORM y ya veremos la forma con los datos:

 Como ven, ya tenemos la primera parte de nuestrp ejercicio. La siguiente parte sera agregar el detalle de esta conjugacion de datos.

Para agregar el detalle haramos lo siguiente en los data blocks. Agregamos uno nuevo

Elegiremos la tabla de detalle de las ordenes ORDER_ITEMS.

Se hace lo mismo que en el primer bloque de datos:

    

Elegimos todos los campos y le datosmos siguiente.

En la siguiente pantalla esta la formacion de la relacion entre esos 2 bloques de datos. En esta relacion tendremos una llave en comun, que para un bloque sera su llave primaria, y esta misma llave en el siguiente bloquie sera la llave foranea, la cual al ser foramea se enlanza con el valor de la llave primaria de ese otro bloque.

Creada la relacion, le dejamos el nombre por default que sera ORDER_ITEMS para este bloque dentro de la forma:

Luego nos aparecera la pantalla que nos pedira confirmar " Create the data block, then call the layout wizard "

En esta pantalla presionamos el boton FINISH.

Como apreciaremos en la siguiente pantalla que es para iniciar el diseno grafico de este nuevo bloque dentro del mismo CANVAS que ya habiamos utilizado en el primer bloque de datos.

En la siguiente pantalla elegimos los campos a mostrar, los cuales pueden ser todos o por definicion propia algunos solamente.

Por ultimo definimos los tamanos de los campos

Y aca en el paso de decidir el estilo del frame que contendra el bloque de datos, no hay mas que escoger TABULAR porque este formato de bloque nos dejara mostrar varios registros para formar la parte detalle de esta relacion MAESTRO/DETALLE.

Y por ultimo nombramos al bloque detalle.

Le definimos la cantidad de lineas de detalle. Y tambien la presentacion de una barra de desplazamiento.

Ya por ultimo presionamos FINISH.

La forma queda con la visualizacion de ambos bloques:

Ya podemos presionar F5 o el icono de RUN FORM.

 

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

PARA IGUALAR EL DISENO DE LA FORMA QUE SE LLEVA HASTA AHORA TAL COMO LA QUE SE MOSTRO EN

EL INICIO DE ESTE ARTICULO, SE DEBE AGREGAR UNA TERCERA TABLA A LOS BLOQUES DE DE DATOS

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

===========================================================================

===========================================================================

Aca expongo graficamente el block de datos que hace falta para igualar la forma que expongo al principio a la que

se crea actualmente:

 AGREGAR BLOQUE DE DATOS CUSTOMERS:

1. Agregar espacio en la forma:

ya dejamos listo el espacio para la colocacion swl nuevo nloque de datos maestro. Y guardamos ese cambio y queda el espacio para ese bloque maestro de datos para la tabla CUSTOMERS,

 Presionamos Data Blocks ... Create y seguimos el data block wizard para agregar la tabla CUSTOMERS.

 

Al agregar este nuevo bloque maestro de datos, debemos hacer la relacion de diferente manera:

Para es JOIN CONDITION, elegimos la tabla ORDERS para unirla con la tabla CUSTOMERS por medio del campo CUSTOMER_ID.

Nombramos a este bloque de datos maestro que sera el primario como CUSTOMERS.

Cuando nos ofrezca el layout wizard, elegimos el ya existente canvas para agregarle.

Modificamos los tamanos de los campos para hacerles quedar bien en el espacio que hemos configurado para el.

 

 En el select layout style elegimos FORM.

Movemos y ajustamos los FRAMES necesarios para dejar la forma de esta manera:

 

Deja tus comentarios

Enviar un comentario como invitado

0

Gente en la conversación

6055 (0)