Cómo: |
Puede añadir una lista dinámica, desplegable, de multiselección, rellenado con valores activos, recuperados desde un origen de datos. El origen de datos se asigna de forma dinámica, sin ningún límite máximo fijado para la longitud de los registros.
Este procedimiento emplea el comando –HTMLFORM de Dialogue Manager para rellenar una lista desplegable con los valores de un origen de datos. Utilice esta técnica cuando los valores de selección varíen con frecuencia y, así, garantizar que los valores de la lista siempre sean válidos y actuales.
Para más detalles acerca de-HTMLFORM, consulte Cómo diseñar una página HTML para la visualización de informes.
Por ejemplo, en Windows, el comando es
FILEDEF textfile DISK APP\textfile.TXT
donde:
Es el nombre del archivo que contiene los valores.
Es el nombre de la aplicación, bajo APPROOT, que contiene el archivo físico.
Consulte Cómo definir y asignar archivos de WebFOCUS para más detalles sobre los comandos específicos de cada plataforma.
ON TABLE HOLD FORMAT ALPHA as textfile
donde:
Es el nombre del archivo. El nombre puede tener de 1 a 8 caracteres.
-HTMLFORM valuespg
donde:
Es el nombre de la página de inicio.
!IBI.FIL.textfile;
o
<!--WEBFOCUS TABLE textfile-->
donde:
Es el nombre del archivo que contiene los valores.
Nota: La línea de comentarios HTML debe cerrarse con una etiqueta de cierre de comentario (-->) o un corchete angular de cierre (>), sin ninguna otra etiqueta HTML.
Observe que el archivo de texto se ha asignado en la memoria de forma dinámica y que no tiene límite de longitud de registros.
El Servidor de informes debe ser capaz de localizar la página de inicio utilizando APP PATH o EDAPATH. Consulte Cómo escoger una lógica de ruta de búsqueda para más detalles sobre las rutas de búsqueda.
En este ejemplo se utiliza WebFOCUS para Windows. Si está en otra plataforma, sustituya el comando FILEDEF por el comando correspondiente de la plataforma. Consulte Cómo definir y asignar archivos de WebFOCUS.
Nota: Para más información acerca de dónde almacenar los archivos creados en este ejemplo, consulte Cómo definir y asignar archivos de WebFOCUS.
Procedimiento: DYNAMMUL.FEX
FILEDEF DYNAMLST DISK APPS\DYNAMLST.TXT DEFINE FILE SHORT OPTCOUNTRY/A40 = '<option>'|COUNTRY; END TABLE FILE SHORT SUM OPTCOUNTRY BY COUNTRY NOPRINT ON TABLE HOLD FORMAT ALPHA AS DYNAMLST END -RUN -HTMLFORM DYNAMIC2 -RUN
La página de inicio, de ejemplo, utiliza el miniservidor.
Página de inicio: DYNAMIC2.HTM
<HTML> <TITLE> DYNAMIC DROP-DOWN LIST REPORT </TITLE> <H4> PROJECTED RETURN BY COUNTRY </H4> <FORM ACTION="/ibi_apps/WFServlet" METHOD="GET"> <INPUT TYPE="HIDDEN" NAME="IBIF_ex" VALUE="MULRPT"> <SELECT NAME="COUNTRY" SIZE="3" MULTIPLE> <!--WEBFOCUS TABLE DYNAMLST--> </SELECT> <BR><BR><INPUT TYPE="SUBMIT" VALUE="RUN REPORT!"></FORM> </BODY> </HTML>
Nota: La línea de comentarios HTML debe cerrarse con una etiqueta de cierre de comentario (-->) o un corchete angular de cierre (>), sin ninguna otra etiqueta HTML.
Procedimiento: MULRPT.FEX
-SET &COUNTER=1; TABLE FILE SHORT SUM PROJECTED_RETURN BY COUNTRY -IF &COUNTRY.EXISTS THEN GOTO LOOP1 ELSE GOTO DONE; -LOOP1 WHERE COUNTRY EQ '&COUNTRY' -IF &COUNTRY0.EXISTS NE 1 THEN GOTO OUTLOOP; -REPEAT OUTLOOP FOR &COUNTER FROM 2 TO &COUNTRY0; OR '&COUNTRY.&COUNTER' -OUTLOOP -DONE ON TABLE SET PAGE-NUM OFF ON TABLE SET STYLE * TYPE=REPORT, GRID=OFF,$ ENDSTYLE END
Nota: En tiempo de ejecución, &COUNTRY0 contiene el número de paísese seleccionados de la lista desplegable. Por ejemplo, si hay tres países seleccionados, &COUNTRY queda establecido en 3, &COUNTRY y &COUNTRY1 se establecen en el primer país seleccionado; &COUNTRY2, en el segundo; y &COUNTRY3 en el tercero.
Este ejemplo es para los entornos de WebFOCUS que no tengan activada la función de aviso automático de ampersands (variable IBIF_wfdescribe=OFF de configuración del Cliente WebFOCUS). Para más información sobre el parámetro de configuración IBIF_wfdescribe, consulte el de Guía de seguridad y administración de WebFOCUS.
Si el entorno tiene activada la función de aviso automático de ampersands, podrá añadir el siguiente parámetro al formulario, para desactivarla en la solicitud enviada a través de este formulario.
<INPUT TYPE="HIDDEN" NAME="IBIF_wfdescribe" VALUE="OFF"> add the above line to example file DYNAMIC2.HTM after line <FORM ACTION="/ibi_apps/WFServlet" METHOD="GET">
Una página similar a las siguientes:
WebFOCUS |