Cómo: Referencia: |
Puede utilizar campos virtuales booleanos (campos DEFINE que evalúan TRUE o FALSE) como criterios de selección de registros: Si el próposito principal del campo virtual es ser utilizado para seleccionar registros, puede clarificar dich propósito y organizar los campos virtuales del archivo máster, almacenando la expresión con una declaración FILTER, en vez de un DEFINE. Los filtros presentan las siguientes características:
FILTER filtername = expression;
donde:
Es el nombre asignado al filtro. El filtro queda asignado internamente al formato I1, y no puede modificarse.
Es una expresión lógica que evalúa TRUE (asigna el valor 1 al campo del filtro) o FALSE (asigna el valor 0 al campo del filtro). Con cualquier otro tipo de expresión, el campo queda convertido en un campo virtual numérico, estándar, dentro del archivo máster. Las variables (ampersand) de Dialogue Manager pueden ser utilizadas en la expresión del filtro, del mismo modo en que se usan los DEFINEs de archivo máster estándar.
TABLE FILE filename . . . {WHERE|IF} expression_using_filters
donde:
Es una expresión lógica que hace referencia a un filtro. En una frase WHERE, la expresión lógica puede hacer referencia a uno o varios filtros o campos virtuales.
Oberve la siguiente declaración de filtro, añadida al archivo máster MOVIES:
FILTER G_RATING = RATING EQ 'G' OR 'PG'; $
La siguiente solicitud aplica el filtro G_RATING:
TABLE FILE MOVIES HEADING CENTER "Rating G and PG" PRINT TITLE CATEGORY RATING WHERE G_RATING ON TABLE SET PAGE NOPAGE ON TABLE SET GRID OFFON TABLE SET STYLE * type=report, style=bold, color=black, backcolor=yellow, $ type=data, backcolor=aqua, $ ENDSTYLE END
La salida es:
WebFOCUS |