Comandos de script de WebFOCUS

Cómo:

Referencia:

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:


Principio de página

x
Referencia: Sintaxis de comandos WFS

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



x
Referencia: Sintaxis de lenguaje WFS

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:

constant

Es un valor literal. Si incluye comillas ("), éstas se pasan como parte de la variable.

Nota: Si la constante contiene caracteres especiales, por ejemplo, un ampersand (&) o una barra invertida (\), la barra invertida (\) podrá emplearse como carácter de escape para garantizar que el carácter especial pase como parte del valor.

&variable

Es un marcador de lugar de un valor.

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


x
Referencia: Carácter de escape de barra invertida

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.


Principio de página

x
Sintaxis: Cómo Usar variables para afectar la salida del servidor de informes de WebFOCUS

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:

variable

Es el nombre de la variable del Cliente WebFOCUS.

value

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.


Principio de página

x
Sintaxis: Cómo Incluir archivos externos en el procesamiento WFS estándar

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:

filename

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.


Principio de página

x
Sintaxis: Cómo Habilitar validación y control de variables

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:

variable

Es el nombre de la variable del Cliente WebFOCUS.

option

Puede ser uno de los siguientes:

pass

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.

dontpass

Especifica que la variable no será pasada al Servidor de informes de WebFOCUS.

protect

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.

number

Especifica que la variable sólo puede ser numérica.

alpha

Especifica que la variable sólo puede tener caracteres alfanuméricos (0-9, a-z) y puntos (.).

string

Especifica que todos los caracteres son válidos.

length=n

Establece la longitud máxima, en caracteres, de una variable. La longitud es ilimitada por defecto.


Principio de página

x
Referencia: Habilitar el complemento de miniservidor de WebFOCUS

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.

  1. Entre a WebFOCUS como administrador y seleccione Consola de administración del menú Administración.
  2. Seleccione Configuración y después, Propiedades del cliente, Complemento.
  3. Si el nombre de clase ibi.webfoc.WFEXTDefault no aparece como valor de la variable WFEXT, introdúzcale y pulse Guardar.

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.


Principio de página

x
Referencia: Invocar el complemento de miniservidor de WebFOCUS

El siguiente comando <CALL> invoca un complemento de WebFOCUS.

<CALL> routine(parm1,parm2) 
<IF> RETCODE NE "returncodevalue"
# insert your code here
<ENDIF>

donde:

<CALL>

Es el comando que invoca el complemento de miniservidor de WebFOCUS.

routine

Define el nombre de la función real a la que se va a llamar (por ejemplo, seguridad o CopyHTTPCookieToWFVar).

(parm1,parm2)

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.

RETCODE

Es el estado de la llamada de método.

returncodevalue

Es el valor que se está comparando con el retorno del complemento (por ejemplo, 0).


Principio de página

x
Sintaxis: Cómo Comprobar variables condicionalmente

La siguiente declaración <IF> verifica condicionalmente las variables del Cliente WebFOCUS.

<IF> variable operator value 
<ELSE>
<ENDIF>

donde:

variable

Es cualquier variable del Cliente WebFOCUS.

operador

Puede establecerse en EQ, NE, CONTAINS, OR o AND.

value

Es aplicable a las variables y constantes del Cliente WebFOCUS.



Ejemplo: Cómo comprobar variables en mayúscula condicionalmente

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>

Principio de página

x
Sintaxis: Cómo Comprobar la existencia de una variable

La siguiente declaración <IFDEF> comprueba la existencia de una variable del Cliente WebFOCUS.

<IFDEF> variable 
<ELSE>
<ENDIF>

donde:

variable

Es cualquier variable del Cliente WebFOCUS.



Ejemplo: Cómo comprobar y definir una variables

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>

Principio de página

x
Sintaxis: Cómo Comprobar si una variable no existe

La siguiente declaración <IFNDEF> comprueba la no existencia de una variable del Cliente WebFOCUS.

<IFNDEF> variable 
<ELSE>
<ENDIF>

donde:

variable

Es cualquier variable del Cliente WebFOCUS.


Principio de página

x
Sintaxis: Cómo Enviar variables al servidor de informes de 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:

name

Es una variable de Dialogue Manager que va a ser usada por el servidor de informes de WebFOCUS.

constant

Es un valor literal. Si incluye comillas("), éstas se pasan como parte de la variable. Es aplicable a cualquier variable del Cliente WebFOCUS.

&variable

Es un marcador de lugar de un valor. Es aplicable a cualquier variable del Cliente WebFOCUS.


WebFOCUS