Puede usar los comandos de scripts de WebFOCUS (WFS) con las propiedades del Cliente WebFOCUS (consulte Cómo usar la Consola de administración) y variables de encabezados HTTP (consulte Variables de encabezado HTTP disponibles para procesamiento de scripts) para personalizar más aún el procesamiento y control del Cliente WebFOCUS.
Puede usar comandos WFS para:
Sugerencia: También puede usar las siguientes variables con comandos script de WebFOCUS:
Puede colocar los siguientes comandos WFS en el archivo site.wfs o en el perfil de nodo de un servidor especificado.
Sintaxis de comandos |
Descripción |
---|---|
<EXIT> |
Hace que el Cliente WebFOCUS detenga el procesamiento y se cierre inmediatamente. |
<INCLUDE> filename
|
Incorpora la lógica WFS de los archivos externos al procesamiento WFS estándar. El archivo debe existir para que continúe el procesamiento. Para más información, consulte Cómo Incluir archivos externos en el procesamiento WFS estándar. |
<CONDITIONAL_INCLUDE> filename
|
Funciona del mismo modo que <INCLUDE> filename, con la excepción de que el archivo no tiene por qué existir. Para más información, consulte Cómo Incluir archivos externos en el procesamiento WFS estándar. |
<SET> variable (option) |
Envía variables al servidor de informes de WebFOCUS para su uso con procedimientos de servidor. Se usa para variables que no se envían automáticamente al servidor de informes de . Para más información, consulte Cómo Enviar variables al servidor de informes de WebFOCUS . |
<CALL> function(parm1,...) |
Invoca complementos de WebFOCUS. Cada complemento de WebFOCUS puede contener un máximo de diez parámetros de entrada. Para más información, consulte Invocar el complemento de miniservidor de WebFOCUS . |
<IF> variable operator value
<ELSE>
<ENDIF>
|
Permite la comprobación condicional de las variables del Cliente WebFOCUS. Para más información, consulte Cómo Comprobar variables condicionalmente. |
<IFDEF> variable
<ELSE>
<ENDIF>
|
Comprueba la existencia de una variable del Cliente WebFOCUS. Para más información, consulte Cómo Comprobar la existencia de una variable. |
<IFNDEF> variable
<ELSE>
<ENDIF>
|
Comprueba la no existencia de una variable del Cliente WebFOCUS. Para más información, consulte Cómo Comprobar si una variable no existe. |
<SENDVAR> name={constant|&value} <ENDSENDVAR> |
Envía variables al servidor de informes de WebFOCUS para su uso con procedimientos de servidor. Se usa para variables que no se envían automáticamente al servidor de informes de . Para más información, consulte Cómo Enviar variables al servidor de informes de WebFOCUS . Nota: Esta sintaxis ha sido desaprobada. Es recomendable utilizar <SET> variable_name variable_name (pass) en lugar de la técnica <SENDVAR>. |
Puede utilizar la sintaxis siguiente al codificar comandos WFS.
Sintaxis de comandos |
Descripción |
---|---|
<! > # |
Los caracteres de comentario indican al Cliente WebFOCUS que la línea actual es un comentario. Los primeros caracteres de la línea deben ser un signo de menor que y un signo de exclamación (<!), o hash (#). Por ejemplo: <! This is a comment.> # This is also a comment. |
\\= |
Carácter de continuación que se puede añadir al final de cualquier línea. Indica al Cliente WebFOCUS que la próxima línea es una continuación de la línea actual. Por ejemplo: long_string = this is a \\= very long string that \\= needs multiple lines |
\n |
Fuente de línea de retorno de carro que le permite |
value = {constant|&variable} |
Asigna un valor a una variable en un archivo WFS como constante o como variable; donde:
Una vez asignado un valor a una variable, puede usar el nombre de la variable, prefijado con un ampersand (&), en lugar del valor. Puede concatenar valores literales de este modo. Por ejemplo: long_string = this is a long_string = &long_string very long string long_string = &long_string that requires multiple lines |
Si emplea la barra invertida como carácter de escape, puede:
Al utilizar una barra invertida (\) como carácter de escape, ésta no quedará incluida en los cálculos basados en la longitud de la cadena. Una cadena de cinco caracteres y un carácter de escape cabrían en la siguiente variable de cinco caracteres.
Las variables del Cliente WebFOCUS le dan control sobre la visualización de múltiples informes, junto con varios marcos, en la misma página HTML, sin necesidad de recurrir a la sintaxis HTML FRAME. Además, permite enlazar varios informes a una sola tabla de contenidos (TOC). Puede usar estas variables para mostrar distintos formatos de informe, como HTML o PDF, en una sola página de inicio. Para afectar la salida de solicitudes que regresan del servidor de informes de WebFOCUS, emita la sintaxis siguiente en el servidor de informes de WebFOCUS:
-TYPE WEBFOCUS CGIVAR variable = value
donde:
Es el nombre de la variable del Cliente WebFOCUS.
Especifica el nombre de la variable del Cliente WebFOCUS.
Para más información sobre los nombres de las variables del Cliente WebFOCUS y sus posibles valores, consulte el manual Cómo desarrollar aplicaciones de informes.
Puede incorporar archivos externos al procesamiento estándar de WFS. El siguiente comando <INCLUDE> permite llamar a otro archivo WFS desde archivos WFS estándar. El archivo personalizado debe existir para que el procesamiento continúe.
<INCLUDE> filename
donde:
Es el nombre del archivo que se va incluir para procesamiento de WFS.
Nota: <CONDITIONAL_INCLUDE> filename funciona del mismo modo que <INCLUDE> filename, con la excepción de que el archivo no tiene por qué existir.
El siguiente comando <SET> activa la validación y control de variables del Cliente WebFOCUS, pasadas desde una cookie o formulario:
<SET> variable (option)
donde:
Es el nombre de la variable del Cliente WebFOCUS.
Puede ser uno de los siguientes:
Especifica que la variable será tratada como una variable ampersand de Dialogue Manager, en el Servidor de informes de WebFOCUS. Este es el valor predeterminado.
Especifica que la variable no será pasada al Servidor de informes de WebFOCUS.
Especifica que la variable no puede establecerse desde el navegador.
Nota: No debe restringir las variables IBIF_focexec e IBIF_EX mediante la opción protect. De lo contrario, WebFOCUS no ejecutará el procedimiento.
Especifica que la variable sólo puede ser numérica.
Especifica que la variable sólo puede tener caracteres alfanuméricos (0-9, a-z) y puntos (.).
Especifica que todos los caracteres son válidos.
Establece la longitud máxima, en caracteres, de una variable. La longitud es ilimitada por defecto.
El complemento de miniservidor de WebFOCUS se activa estableciendo la variable WFEXT en el nombre de clase ibi.webfoc.WFEXTDefault, en el archivo cgivars.vars.
Nota: Sólo puede un complemento activo al mismo tiempo. Si necesita añadir funcionalidad adicional, debe extender esta clase para incluir su funcionalidad y no perder acceso a los métodos incluidos en esta clase.
El siguiente comando <CALL> invoca un complemento de WebFOCUS.
<CALL> routine(parm1,parm2) <IF> RETCODE NE "returncodevalue" # insert your code here <ENDIF>
donde:
Es el comando que invoca el complemento de miniservidor de WebFOCUS.
Define el nombre de la función real a la que se va a llamar (por ejemplo, seguridad o CopyHTTPCookieToWFVar).
Son los parámetros de entrada del complemento de WebFOCUS. Cada complemento de WebFOCUS puede contener un máximo de diez parámetros de entrada. Se pasa el búfer de salida, sin que afecte al número máximo de parámetros de entrada.
Es el estado de la llamada de método.
Es el valor que se está comparando con el retorno del complemento (por ejemplo, 0).
La siguiente declaración <IF> verifica condicionalmente las variables del Cliente WebFOCUS.
<IF> variable operator value
<ELSE>
<ENDIF>
donde:
Es cualquier variable del Cliente WebFOCUS.
Puede establecerse en EQ, NE, CONTAINS, OR o AND.
Es aplicable a las variables y constantes del Cliente WebFOCUS.
Puede usar la siguiente declaración <IF> para garantizar que se invoque la página de inicio de sesión de WebFOCUS.
Al añadir upper a una variable WFS, el valor se verifica como si estuviera en mayúsculas. Esto permite comprobar el valor introducido por el usuario, sin tener en cuenta si está en mayúsculas o minúsculas.
La siguiente declaración <IF> garantiza que cualquier valor introducido se trate como si estuviera en mayúsculas.
<IF> ABC.upper EQ "Y" OR ABC.upper EQ "YES" DEF = &GHI <ENDIF>
La siguiente declaración <IF> garantiza que cualquier valor de servidor introducido no sea sensible a las mayúsculas y minúsculas.
<IF> IBIC_server.upper EQ "EDASERV" # INSERT YOUR CODE HERE.... <ENDIF>
La siguiente declaración <IF> comprueba si la constante constant.ibi.com está contenida en la variable HTTP_HOST del Cliente WebFOCUS.
<IF> HTTP_HOST contains ".ibi.com"
# INSERT YOUR CODE HERE....
<ENDIF>
La siguiente declaración <IFDEF> comprueba la existencia de una variable del Cliente WebFOCUS.
<IFDEF> variable
<ELSE>
<ENDIF>
donde:
Es cualquier variable del Cliente WebFOCUS.
En el ejemplo siguiente, si la variable _ON_NT existe, PATH_SEP está configurado como un punto y coma (;). Si la variable _ON_NT no existe, PATH_SEP queda establecido en dos puntos (:).
<IFDEF> _ON_NT PATH_SEP=; <ELSE> PATH_SEP=: <ENDIF>
La siguiente declaración <IFNDEF> comprueba la no existencia de una variable del Cliente WebFOCUS.
<IFNDEF> variable
<ELSE>
<ENDIF>
donde:
Es cualquier variable del Cliente WebFOCUS.
El comando <SET> envía variables al Servidor de informes de WebFOCUS para su uso con procedimientos del servidor. Algunas variables personalizadas se envían automáticamente al servidor de informes de WebFOCUS. Esta sintaxis se usa para variables que no se envían automáticamente al servidor de informes de WebFOCUS.
<SET> name = {constant|&variable} (pass)
donde:
Es una variable de Dialogue Manager que va a ser usada por el servidor de informes de WebFOCUS.
Es un valor literal. Si incluye comillas("), éstas se pasan como parte de la variable. Es aplicable a cualquier variable del Cliente WebFOCUS.
Es un marcador de lugar de un valor. Es aplicable a cualquier variable del Cliente WebFOCUS.
WebFOCUS |