Inicio > Forms & Reports > Integración Forms 11g con Javascript: Maximizar FORMS_MDI_WINDOW

Integración Forms 11g con Javascript: Maximizar FORMS_MDI_WINDOW

Una de las nuevas funcionalidades de Forms 11g es la integración con Javascript. Para demostrar el funcionamiento de esta nueva funcionalidad os mostraré cómo maximizar la ventana FORMS_MDI_WINDOW.

La integración Forms-Javascript es bidireccional:

  • “Forms to Javascript“
      Mediante uso de web.javascript_eval_expr ejecutamos procedimiento JavaScript
  • “Javascript to Forms”
    1. Desde Javascript mediante método sendEventToForm
    2. En el formulario se dispara el evento When-Custom-JavaScript-Event

En el ejemplo que os propongo, la integración sólo se realiza en la dirección “Forms to JavaScript”.

Como ya conocéis, sobre todo si trabajáis con separateframe=true, la ventana FORMS_MDI_WINDOW no queda del todo maximizada mediante el uso de set_window_property (FORMS_MDI_WINDOW, WINDOW_STATE, MAXIMIZE), con lo que dependiendo de cómo tengamos diseñados nuestros formularios la consola quedará parcialmente “cortada”.

Ahora en Forms 11g, aprovechando la capacidad de integración con JavaScript podemos maximizarla. ¿Cómo? Muy sencillo:

Desde Forms:

Siempre que hagamos un set_window_property (FORMS_MDI_WINDOW, WINDOW_STATE, MAXIMIZE) ejecutaremos el comando web.javascript_eval_expr(MDIMaximizar();’), donde MDIMaximizar es el procedimiento Javascript alojado en la página de inicio del applet.

En Javascript (en el ejemplo se ha utilizado la plantilla basejpi.htm):

1. Después del tag  </TITLE> y antes del tag </HEAD> colocar el método JavaScript

<SCRIPT type=”text/javascript”>

function MDIMaximizar() {

document.OracleApplet.getFrame().setExtendedState(6);

}

</SCRIPT>


2. En la declaración del OBJECT del applet añadir ID=OracleApplet

<OBJECT

classid=”%jpi_classid%”

codebase=”%jpi_codebase%”

ID=OracleApplet

WIDTH=”%Width%”

HEIGHT=”%Height%”

HSPACE=”0″

VSPACE=”0″

ID=”%applet_name%”>


3. Antes del tag </BODY>

<IFRAME ID=”IframeMDIMaximize” NAME=”IframeMDIMaximize” WIDTH=0 HEIGHT=0> </IFRAME>

El resultado es el siguiente:  una FORMS_MDI_WINDOW totalmente maximizada.

  1. abril 14, 2011 en 17:43

    Excelente ejemplo.

    Yo hice algo similar, pero sin modificar el basejpi.htm (en concreto el webutiljpi.htm ya que uso la webutil), para ello hay que añadir en el formsweb la entrada:

    applet_name=OracleApplet

    Y desde el programa ejecutar:

    web.javascript_eval_expr(‘document.OracleApplet.getFrame().setExtendedState(6)’);

    • javier.gea
      abril 18, 2011 en 10:26

      ¿Su alternativa funciona en un nevagador firefox?
      Un saludo

  2. Luis Sosa
    octubre 22, 2013 en 19:46

    Para forms 10g como seria??? ya que el comando web.javascript_eval_expr no lo soporta la version 10g

    • Javier Gea
      octubre 24, 2013 en 15:29

      Hola.
      Lamentablemente si necesitas utilizar esa funcionalidad deberás de migrar a 11gR2 ya que como bien dices esa funcionalidad no existe en 10gR2 ni existirá ya que la versión 10gR2 está a día de hoy fuera de soporte.
      Un saludo

  3. Hernán García Barrera
    agosto 23, 2014 en 15:22

    Funciona muy bien, Chevere la funcionalidad

  1. abril 14, 2011 en 18:31

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: