En este tema se proporciona información básica sobre los
nodos While.
Cuando crea un nodo While en el editor de flujo, éste crea dos artefactos: (a) el
propio nodo While; y (b) un flujo inicialmente vacío (que sólo contiene un nodo Receive y
un nodo Reply) que el nodo While invocará.
El nodo While se crea en el flujo que está editando actualmente. Para
que este nodo While funcione correctamente, debe crear una expresión ESQL en el nodo
While que se resuelva en un valor booleano true o false. Esta expresión ESQL sirve como
condición de bucle para el bucle While.
El flujo invocado es un flujo invocado normal, excepto por el hecho de
que se invoca desde dentro del nodo While, no desde un nodo de flujo Invoke. En el flujo
invocado, deberá crear una secuencia de nodos que ejecuten las operaciones que desea que
se repitan cuando se ejecute el bucle While. El flujo invocado sirve como el interior
del bucle While.
Cuando se procesa el nodo While en el tiempo de ejecución, realiza el ciclo
siguiente:
- Evalúa la expresión ESQL almacenada en el nodo While.
- Realiza alguna acción basándose en el valor resultante de la expresión ESQL:
- Si la expresión se resuelve en el booleano true en el paso 1, el nodo While invoca el
flujo invocado, espera a que vuelva de la invocación y vuelve a iniciar el ciclo a partir
del paso 1.
- Si la expresión se resuelve en false en el paso 1, el nodo While no invoca el flujo
invocado y termina, y el flujo de control sale del terminal de salida del nodo While.
.
Para que el bucle While funcione correctamente, deberá configurar
también los siguientes elementos:
En el flujo que contiene el nodo While:
- Antes de ejecutar el nodo While:
- Cree e inicialice las variables que utiliza la expresión ESQL en el nodo While.
- Configure los parámetros de entrada del flujo invocado.
- Una vez ejecutado el nodo While, añada nodos a las tareas adicionales que deban
ejecutarse como, por ejemplo, la lectura de los parámetros de salida del flujo invocado,
la prueba de las condiciones o el almacenamiento y el proceso de los datos proporcionados
por el flujo invocado.
En el flujo invocado:
- Lea los parámetros de entrada.
- Cuando sea el momento de terminar el bucle While, modifique el valor de la variable o
las variables, para que la expresión ESQL en el nodo While se evalúe en false.
- Almacene un código de retorno y datos de salida en los parámetros de salida.
- Almacene otros datos en otras variables del mensaje de variables.
Puede utilizar nodos While y sus flujos invocados en las aplicaciones
no de terminal y las aplicación de terminal.
Asimismo, en las aplicaciones de terminal, puede registrar una secuencia repetitiva de
pantallas de aplicación como un bucle. Cuando registra un bucle, el registrador del flujo
(editor de host) crea un nodo While y su flujo invocado, rellena el flujo invocado con
nodos para manejar las pantallas de aplicación que visita, configura una variable de
bucle y una expresión de bucle, y realiza otras tareas (consulte el tema
Registro de bucles).