Cómo enlazar con una función de JavaScript

Cómo:

Puede utilizar una hoja de estilos para definir un vínculo a una función de escritura de Java desde cualquier componente del informe. Tras haber definido el vínculo, puede seleccionar el componente del informe para ejecutar la función de escritura de Java.

Tal como la búsqueda por jerarquías enlaza con los procedimientos y los URL, puede especificar los parámetros opcionales que permiten que los valores de un informe pasen a la función de escritura de Java. La función usará el valor adquirido para determinar dinámicamente los resultados que regresan al buscador. Para más detalles, consulte Cómo crear parámetros.

Nota:


Principio de página

x
Sintaxis: Cómo Enlazar con una función JavaScript
TYPE=type, [subtype], JAVASCRIPT=function[(parameters ...)], $

donde:

type
Identifica el componente de informe que ha seleccionado en el navegador web para ejecutar el vínculo. El atributo TYPE y su valor deben aparecer al principio de la declaración.
subtype
Se refiere a algunos atributos adicionales, tales como COLUMN, LINE, o ITEM, necesarios para identificar el componente del informe que usted formatea. Para obtener información más detallada, vaya a Cómo identificar un componente de informe en una hoja de estilo de WebFOCUS
function
Identifica la función de escritura de Java que hay que ejecutar cuando seleccione el componente del informe.

La máxima extensión de un argumento JAVASCRIPT=function, incluyendo los parámetros relacionados, es de 2400 caracteres y puede ocupar más de una línea. Si divide un argumento único a través de una línea, necesita usar el carácter \ al final de la primera línea, como sintaxis de continuación. Si divide un argumento en un punto en que se requiere un espacio como delimitador, el espacio debe colocarse antes del carácter \ o debe ser el primer carácter de la próxima línea. El carácter \ no funciona como delimitador.

En este ejemplo,

JAVASCRIPT=myfunc(COUNTRY \
CAR MODEL 'ABC'),$

el argumento ocupa dos líneas correctamente.

Nota:

  • Puede utilizar el Dialogue Manager -comando HTMLFORM para insertar el informe en un documento HTML en que la función esté definida.
  • Cuando tenga un documento HTML invocado mediante -HTMLFORM, asegúrese de que la extensión del archivo sea .htm (no .html).

Para más información sobre el comando -HTMLFORM, consulte el manual Cómo desarrollar aplicaciones de informes

parámetros
Valores que pasan a la función de escritura de Java. Para más detalles, consulte Cómo crear parámetros.


Ejemplo: Cómo enlazar con una función de JavaScript

A continuación, el informe y la sintaxis de la hoja de estilos usadas para vincular a una función de escritura de Java. Aparecen además la función de escritura de Java que se ejecuta y el resultado que aparece en el buscador.

La solicitud del informe (que contiene la hoja de estilos en línea) es:

TABLE FILE GGORDER
SUM PRODUCT_ID
BY STORE_CODE
BY PRODUCT_DESCRIPTION NOPRINT
IF STORE_CODE EQ 'R1250'
ON TABLE HOLD AS JAVATEMP FORMAT HTMTABLE
ON TABLE SET PAGE-NUM OFF
ON TABLE SET STYLE *
TYPE=REPORT, GRID=OFF, $
TYPE=DATA, COLUMN=PRODUCT_ID, JAVASCRIPT=showitem(PRODUCT),$
ENDSTYLE
END
-RUN
-HTMLFORM JAVAFORM

El archivo JAVAFORM.HTM que contiene la función de escritura de Java es:

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
// This function will display the value in the text box
function showitem(string) {
document.form1.text1.value = string;
}
// End the hiding here
</SCRIPT>
</HEAD>
<BODY>
!IBI.FIL.JAVATEMP;
<HR>
<B>Product Description:</B>
<FORM NAME="form1">
<INPUT TYPE="text" NAME="text1" SIZE="16"> </FORM>
</BODY>
</HTML>

Cuando se ejecuta el procedimiento de informe aparece el siguiente informe en el navegador. Si selecciona un vínculo de Código de proyecto, la función JavaScript ShowItem ejecuta y muestra el valor del campo PRODUCT_DESCRIPTION (un campo NOPRINT) en el cuadro de texto del formulario situado debajo del informe. Por ejemplo, si usted selcciona el código de producto G104, aparece "Thermos" en el campo de descripción del producto.


WebFOCUS