Tema anterior: Interrupción de un operador de generación de buclesTema siguiente: Indexación del recuento de bucle para otras finalidades


Creación de un bucle de elementos indexados de un campo Conjunto de datos

En lugar de utilizar las variables incorporadas del sistema CurrentLoopIteration y OverallLoopDuration, pueden crear variables de bucle personalizadas y gestionarlas usted mismo. Las versiones anteriores de CA Process Automation requerían este método. Por ejemplo, podría crear lógica para calcular la duración desde la hora de inicio de la primera iteración de un bucle hasta la hora actual de cada bucle. Incluso podría utilizar código de ejecución previa y posterior para introducir datos en un bucle como

Para crear un bucle de todos los elementos de un campo de conjunto de datos indexado, primero utilice un operador Ejecutar JavaScript en el grupo Utilidades para inicializar el elemento CurrentIndex para el campo de conjunto de datos en 0. Por ejemplo, la expresión siguiente inicializa el elemento CurrentIndex en la variable del proceso X a 0:

Process.X.CurrentIndex=0;

Para crear un bucle de elementos indexados de un campo Conjunto de datos

  1. Conecte el vínculo de salida Correcto del operador Ejecutar JavaScript al operador que se desea procesar en un bucle.
  2. En la paleta Conjunto de datos del operador que desea ejecutar en bucle, utilice la configuración del elemento Tamaño para el campo indexado como el valor de Recuento de repetición en la ficha Bucle. Por ejemplo:
    Process.X.Size.
    
  3. Para aumentar la configuración de CurrentIndex después de haber completado cada iteración del bucle, utilice una expresión de código de ejecución posterior. Por ejemplo:
    Process.X.CurrentIndex=Process.X.CurrentIndex+1;
    

    En este caso, el elemento CurrentIndex es el recuento del bucle. Se puede utilizar la configuración de CurrentIndex para acceder a elementos del campo indexado en expresiones calculadas. Por ejemplo:

    Process.X[Process.X.CurrentIndex];
    

    Nota: Si está acostumbrado a lenguajes de programación, como Visual BASIC, que utilizan matrices con base uno, recuerde que el campo de un conjunto de datos indexado es una matriz con base cero. En las matrices con base uno, el primer elemento se indexa con 1 y el último se indexa con la cantidad de elementos. El primer elemento de un campo de conjunto de datos indexado se indexa con 0 y el último elemento se indexa con un número menor que el valor del elemento Tamaño del campo.

Además de acceder a elementos en un campo de conjunto de datos indexado, se puede seguir el número de iteración durante el procesamiento de un bucle para otras finalidades. Utilice una variable de proceso como process.i para la variable de índice. En un operador Cálculo del módulo de interpretación que precede al operador en bucle, inicialice la variable del proceso en su valor inicial. Por ejemplo, process.i=1. Para aumentar la variable de índice después de haber completado cada iteración del bucle, utilice una expresión en el código de ejecución posterior del operador. Por ejemplo:

Process.i=Process.i+1;

Nota: Los pasos de este tema no se consideran ya necesarios; sin embargo, se incluyen como referencia con el código heredado. Si se utilizan las variables del sistema más recientes, solamente se aplica el paso 2 y el paso 3 se reemplaza de la siguiente manera. Utilice la variable CurrentLoopIteration del operador en bucle para acceder a elementos del campo indexado en expresiones calculadas. Por ejemplo:

Process.X[Process[OpName].CurrentLoopIteration];