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“
    1. 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.

Evolución, innovación y transformación
37 especializaciones avaladas por Oracle
Oportunidades ilimitadas
El equipo marca la diferencia
Posts 100% Oracle
Sigue nuestro día a día