viernes, 15 de julio de 2011

Construir una lista de valores LOV en forms builder de Oracle con una consulta sql

Ahora, vamos a construir un LOV o lista de valores en forms builder de Oracle.
Primero voy a crear un form con un data block de la tabla DEPARTMENTS:


Como ven en esta forma o formulario tenemos un Id Manager y un Id Location pero al momento de ingresar nose el id del manager, entonces, voy a crear una lista de valores para Id Manager para que el rato que vaya a ingresar manager pueda seleccionar el nombre del manager y en el caja de Id Manager se me guarde solo el Id.

Entonces nos vamos a la parte izquierda y agregamos un LOV:


Seleccionamos "Use LOV Wizard":

Damos click en Next:


Como este LOVs que voy a crear es a partir de una consulta, entonces, voy a hacer una consulta sql que me devuelva dos columnas que voy a necesitar: la columna Id de la tabla Employees y el nombre completo (nombre y apellido) del empleado:

Ingreso la sentencia SQL y doy click en "Check Syntax..." para comprobar que la consulta este correcta:


Damos next, y en la siguiente ventana seleccionamos los campos o columnas que deseamos, en este caso las dos:


Damos click, y ahora en la siguiente pantalla vamos a seleccionar cual de los dos campos queremos que seleccione para poner en la caja de Id Manager bueno en este caso necesitamos el codigo del manager, entonces, elegimos, "Id Manager" y en la columna "Return Value" damos un click y después damos click en el botón de abajo "Look up return item..." y seleccionamos en que campo del data block DEPARTMENTS queremos que se nos ponga el id del manager y damos OK.


Damos Next: ingresamos el nombre del LOV el tamaño de la ventana del LOV y damos next:


Elegimos cuantas filas queremos que se nos muestre a la vez, y damos check a la primera opción:



Click en next y elegimos todos y damos click en next:



y Finalizamos.

Ahora, corremos la forma, ingresamos los datos y en el momento que vayamos a ingresar el id del manager pulsamos "Ctrl + l" y aparecerá la ventana del LOV:


Elegimos cualquier empleado y damos OK y vamos a ver que el campo del id del empleado se muestra en el Id Manager.


Si tienen alguna duda o corrección me la hacen saber.

jueves, 14 de julio de 2011

Crear un formulario cabecera detalle con Forms Builder de Oracle

Hola a todos, esta vez voy a crear una forma que va a contener una cabecera y un detalle.
Bueno, el ejemplo que voy a hacer es listar todos los empleados que pertenecen a un departamento, para este ejercicio voy a utilizar las tablas employees y departments de hr que es el usuario que viene por defecto en oracle.

Para esto primero voy a crear un data block de la tabla departments de la manera que hicimos en la entrada anterior, así que, no voy a dar detalles:



Ahora creamos de la misma manera otra data block en este caso de la tabla employees:

Entonces, como ya tenemos creado un data block, ahora en el momento que estemos creando este data block nos va salir esta ventana que nos permitirá crear la relación con la tabla departamentos que ya tenemos:


Damos click en "Create Relationship" vemos que hay una relación, esto es porque la tabla departamentos ya esta enlazada a la tabla employees,  y damos click en "OK":




En la ventan de abajo vemos como se creó automáticamente la relación entre las dos tablas, para asegurarnos en Detail Item y en Master Item elegimos las llaves que ya están creadas. Si no existiera relación alguna entre las tablas tendríamos que quitar el check de "Auto-join data blocks" y elegir nosotros mismo la relación.

Damos click en siguiente y seguimos normalmente con la creación:
De la tabla de empleados solo quiero mostrar los siguientes datos entonces en el layout wizard elegimos:

Damos click, y después cuando nos pida elegir si queremos que se muestre en forma de formulario o tabular yo escogí tabular, ustedes vean como se acomoden:



Voy a poner que se muestren 5 filas y scrollbar:

Así va a quedar el formulario:

Ojo, ahora hay que cambiar el orden de los formularios para decir que primero se carguen los datos en la forma departamentos y según elijamos en departamentos nos muestre abajo los empleados; parce que ya estuviera ordenado los data blocks pero al cargar la forma nos va a salir lo siguiente:


Entonces cambiamos el orden de los data blocks:

La tabla DEPARTMENTS debe estar encima de la de EMPLOYEES.

Ahora si, corremos el formulario y nos va a quedar así:


Nos podemos desplazar por departamentos o empleados.
Eso es todo, si tienen alguna duda o corrección me la hacen.

domingo, 3 de julio de 2011

Crear una forma en Forms Builder de Oracle


Primero ingresamos a la aplicación:













2. Damos doble click en data block para crearnos un bloque enlazado con la base de datos, nos sale una ventana "New Data Block" y elegimos la primera opción "Use the Data Block Wizard":



3. Nos sale la ventana de data block wizard, damos next:

4. En la siguiente ventana nos va a preguntar si queremos elegir una tabla de la base de datos o ejecutar un procedimiento almacenado, en este caso vamos a elegir una tabla:

5. Ahora nos va a mostrar la ventana donde vamos a elegir la tabla que formará el block, damos click en browser y si todavía no estamos conectados a la base nos va a salir una ventana pidiendonos el usuario, la contraseña y la base a la cual vamos a acceder:



6. Entonces, nos aparece una ventana con todas la tablas de la base que pertenece a ese usuario. Elegimos la tabla, para este ejemplo voy a elegir employees:



7. Ahora podemos ver aparecen todos los campos que pertenecen a esa tabla, escogemos todos los campos y les pasamos al otro lado. Después, damos click en "Enforce data integrity" para controlar que no se ingresen datos inválidos a la tabla de la base de datos; damos next:



8. Damos nombre al block, next:



9. Nos sale la pantalla final de la creación del data block, aqui nos da dos opciones, elegimos la primera opción para de una véz elegir los campos que vamos a mostrar en el diseño del block y damos click en finalizar:



10. Entonces, nos muestra la ventana de asistente de diseño, next:

Después le das next:


11. Ahora te saldrá una pantalla en donde tienes que elegir que campos quieres que se vean en el diseño de la ventana. En este caso no quiero que se vea el campo employee id:

12. Ahora nos saldrá una ventana nueva mostrándonos los campos que se van a mostrar, con el nombre que va a tener el prompt o label y el ancho y alto de las cajas, puedes modificar si quieres o puedes hacerlo direcctamente después de haber terminado:

13. En la siguiente ventana te pedirá en que forma quieres que se muestre los datos, en forma, es decir, uno por uno o tab, varias filas a la vez, ahora como estamos haciendo de una forma rápida pondré solo forma:


16. Ahora, le damos un nombre a la forma, elegimos cuantas filas queremos que nos muestre, la distancia que va a haber entre los campos y decidimos si queremos o no mostrar un scrollbar para desplazarnos en las filas de la tabla:


17. Finalizamos

18. Nos saldrá algo como esto:

19. Para generar la forma domos click en Run Form:


20. Así quedará la forma

21. Ahí nos muestra un menú para insertar, consultar, eliminar, guardar cambios.....


Bueno, eso ha sido todo, seguiré publicando más entradas sobre oracle forms, si tienen alguna duda por favor comenten. Si en algo me equivoco también espero que me lo informen ya que no soy experto en esto.