Au lieu d'utiliser les variables de système intégrées CurrentLoopIteration et OverallLoopDuration, vous pouvez créer et gérer des variables de boucle personnalisées. Cette méthode était requise dans les versions précédentes de CA Process Automation. Par exemple, vous pouviez créer une logique pour calculer la durée à partir de l'heure de démarrage de la première itération d'une boucle jusqu'à l'heure actuelle pour chaque boucle. Vous pouviez même utiliser un code de pré/post-exécution pour définir une entrée dans une boucle, comme :
Pour créer une boucle dans tous les éléments d'un champ d'ensemble de données indexé, utilisez un opérateur Exécuter JavaScript du groupe d'utilitaires pour initialiser l'élément CurrentIndex pour le champ d'ensemble de données à 0. Par exemple, l'expression suivante initialise l'élément CurrentIndex sur la variable de processus X à 0 :
Process.X.CurrentIndex=0;
Pour créer une boucle dans les éléments indexés d'un champ d'ensemble de données :
Process.X.Size.
Process.X.CurrentIndex=Process.X.CurrentIndex+1;
Dans ce cas, l'élément CurrentIndex est le compteur pour la boucle. Vous pouvez utiliser le paramètre CurrentIndex pour accéder à des éléments du champ indexé dans les expressions calculées. Exemple :
Process.X[Process.X.CurrentIndex];
Remarque : Si vous avez l'habitude des langages de programmation comme Visual BASIC qui utilise un tableau de base un, rappelez-vous qu'un champ d'ensemble de données indexé est un tableau de base zéro. Dans les tableaux de base un, le premier élément est indexé par 1 et le dernier élément est indexé par le nombre d'éléments. Le premier élément d'un champ d'ensemble de données indexé est indexé par 0 et le dernier élément est indexé par la valeur de l'élément Taille pour le champ moins un.
Outre l'accès aux éléments dans un champ d'ensemble de données indexé, vous pouvez suivre le nombre d'itération pendant le traitement de la boucle à d'autres fins. Utilisez une variable de processus comme processus.i pour la variable d'index. Dans un opérateur Calcul du module d'interprétation qui précède l'opérateur en boucle, initialisez la variable de processus à sa valeur de début. Par exemple, process.i=1. Pour augmenter la variable d'index après la fin de chaque itération de la boucle, utilisez une expression dans le code de post-exécution de l'opérateur. Exemple :
Process.i=Process.i+1;
Remarque : Les étapes de cette rubrique ne sont plus considérées comme nécessaires. Toutefois, elles y sont rapportées à des fins de référence pour le code hérité. Si vous utilisez les nouvelles variables de système, uniquement l'étape 2 doit être appliquée et l'étape 3 est remplacée, comme suit. Utilisez la variable CurrentLoopIteration de l'opérateur en boucle pour accéder aux éléments du champ indexé dans des expressions calculées. Exemple :
Process.X[Process[OpName].CurrentLoopIteration];
|
Copyright © 2013 CA.
Tous droits réservés.
|
|