TRABAJANDO CON ORACLE FORMS 10G

La herramienta Forms, incluida dentro ORACLE DEVELOPER SUITE (DS) nos permite atacar nuestra base de datos de producción para facilitar a los usuarios un acceso transparente a los datos almacenados en la misma.

Forms Developer 10g es una evolución de las anteriores herramientas de desarrollo que Oracle Corporation ya tenía en el mercado(Oracle Developer 2000 y posteriormente Oracle Developer 6i). En todas las versiones se sigue una misma metodología de programación, por lo que no es difícil para el programador pasar de una versión a la siguiente con unos mínimos costes de tiempo. Sin embargo la mayor diferencia la notaran los usuarios finales que utilicen nuestros desarrollos ya que en las últimas versiones el entorno de trabajo se realiza a través de un navegador Web exclusivamente y no sobre ventanas.



Veamos un ejemplo en el que diseñaremos un formulario de inicio de aplicación, configurando todos los parámetros necesarios para poder trabajar en un entorno cómodo.

Lo primero que vamos a planificar es la estructura que va atener nuestra aplicación y en que lugar va estar localizada. Para este caso vamos a tener todos los formularios ejecutables (.fmx) en el directorio raíz MyAplicacion y los iconos que necesitemos en en el subdirectorio iconos, dentro de MyAplicacion. 

Necesitamos configurar el servicio OC4J para poder ejecutar los formularios que crearemos y para ello empezamos realizando una copia del archivo default.env que se encuentra dentro del directorio ORA-HOME, formsserver. Renombramos la copia de este archivo y le pasamos a llamar aplica.dev. En este archivo le indicaremos la ruta donde debe buscar los formularios a ejecutar:

FORMS_PATH=C:MyAplicacion

Editamos ahora otro fichero importante, formsweb.cfg que se encuentra en la misma ruta. En este fichero vamos a indicarle a servidor cuales son los parámetros que va a tomar nuestro formulario en tiempo de ejecución. Para ello añadimos lo siguiente:

[aplicacion]
imageBase=DocumentBase
envFile=aplica.env
splashScreen=logo2.gif
background=logo.gif
lookAndFeel=Oracle
colorScheme=teal
logo=lobo.gif
pageTitle=Titulo de la Pagina
form=frmInicio
userid=usuario/password@instancia




Destacamos aquí el parámetro envFile en el que le indicamos el PATH donde se encuentran los formularios. 


Con esto ya sería suficiente para empezar a trabajar y testear nuestra aplicación, sin embargo nos encontramos con el problema de los iconos que no se muestran ni en tiempo de desarrollo ni de ejecución. 

Para visualizarlos en tiempo de ejecución haremos lo siguiente: 
  • Editamos el archivo orion-web.xml localizado en ORA-HOME, j2ee, DevSuite, application-deployments, forms, formsweb y añadimos el directorio virtual donde se va encontrar los iconos.
  • Le indicamos ahora al servicio que extensión van a tener y en que directorio virtual se encuentran. Editamos el archivo Registry.dat que esta en la ruta ORA-HOME, forms, java, oracle, forms, registry. 

Si estamos trabajando con Developer Forms en tiempo de diseño, podemos observar que los botones icónicos aparecen en blanco aunque hayamos introducido la ruta correcta de donde se encuentran. La forma de implantarlos es la siguiente: 

  • Los nombres de los archivos icónicos no deben tener el path ni la extensión, únicamente el nombre. 
  • Editamos el registro de Windows y en HKEY_LOCAL_MACHINE->Software->Oracle-> HORA-HOME creas la variable UI_ICON_EXTENSION con valor gif ya que estamos utilizando los iconos con esta extensión. Lógicamente debemos indicar el path de los iconos en la clave UI_ICON (esta clave normalmente ya esta creada, si no es así debemos crearla). 

Con esto tendríamos todo el entorno de trabajo correctamente configurado y podríamos probar nuestro formulario en cualquier navegador llamando a la dirección:
default.icons.iconpath=icons/default.icons.iconextension=gif

localhost:puerto/forms/frmservlet?config=aplicacion

Nos fijamos que la configuración elegida a visualizar (“aplicación”) la obtiene del fichero formsweb.cfg de la clave [aplicación]


Comentarios

Entradas populares de este blog

Backup y Recuperación en Frío (ORACLE)

Uso de la función RANKX (DAX)