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.

lunes, 20 de diciembre de 2010

Conectar wampserver con oracle

Para realizar esta conexión utilicé el wampserver 2.0c, pero, tengo entendido que con la última versión también funciona.

Además esto es para realizar una conexión con una base de datos realizada por el gestor oracle 10g.

Para hacer que wampserver funcione con oracle hay que realizar los siguientes cambios:

  1. Nos vamos al icóno del wampserver y de ahí a php, extensiones de PHP y activamos la extensión php_oci8 que es para la 10g, para la 11g activamos la extensión php_oci11g. También, activé las extensiones php_pdo_oci8 y php_pdo_oci nosé si son importantes pero me funcionó.



2.  Entras en el archivo php.ini para verificar que las extensiones han sido activadas.

3. Si se fijan al lado de las extensiones de oracle esta el siguiente mensaje "; Use with Oracle 10gR2 Instant Client", esto quiere decir que necesitamos tener instalado el Instant Client, lo que yo hice fue instalar el oracle 10g express edition, y este, ya me da instalando los dll de Instant Client.

4. Después de todos estos pasos ya debe estar funcionando, solo entra en cualquier navegador y prueba.

Espero que te haya servido de ayuda, si tienes alguna pregunta o surgerencia no dudes en hacerla.

miércoles, 15 de diciembre de 2010

Conectar wampserver con postgresql

Nota importante: Este procedimiento me funcionó perfectamente y no me dió problemas, les recomiendo que hagan respaldo de cualquier archivo que vayan a modificar antes de hacerlo, para no tener problemas.

Esta conexión lo hice con la versión wampsever 2.0c porque con la versión wampsever 2.0i me dio problemas, si alguien encuentra una solución con la última pueden compartir.

Bueno para solucionar lo hice de la siguiente manera:

Primero me fuí al icono de wampserver, entre en php, Extensiones de PHP y activé las extensiones php_pdo_pgsql y php_pgsql que pertenecen a postgresql:


Bueno, después de este paso ya debería funcionar, pero no, todavía el rato de conectarse sale un error en ingles diciendo que la función para conectar a la base en este caso pg_connect(_____) no está definida.
Entonces, investigué en algunos foros, y encontre que las librerias php_pdo_pgsql y php_pgsql estan dañadas y me dieron el siguiente link en donde se encuentran las librerías php_pgsql.dll y php_pgsql.dll:

http://www.bmedon.net/download.html

La pagina está en otro idioma pero entra en el link en donde esta algo del postgres y te bajas las dos librerías.

Copia estas dos librerías y reemplaza en c:/wamp/bin/php/php5.2.9-2/ext/
Cierra y vuelve a abrir el wampsever y prueba la conexión con postgresql y ya no te debe salir error fatal. 

Cualquier duda que tengan no duden en preguntar, si les sirvió o tienen una diferente solución porfavor comenten.