Macro .foreach_item

Cette macro est utilisée pour l'itération dans les collections d'objet :

.foreach_item (collection [,en-tête [,fin [,condition [,comparaison]]]])
	template-complexe
.next [(séparateur)]

Le template spécifié au sein du bloc est converti sur tous les objets contenus dans la collection spécifiée.

Si une comparaison est spécifiée, les éléments de la collection sont pré-triés en fonction de la règle correspondante avant leur itération.

Les paramètres suivants sont disponibles :

Paramètre

Description

collection

Collection sur laquelle l'itération est effectuée

Type : Template simple

en-tête

[facultatif] Généré avant le résultat, s'il y en a un

Type : Texte

fin

[facultatif] Ajouté au résultat, s'il y en a un

Type : Texte

condition

[facultatif] Si spécifié, seuls les objets qui satisfont la condition sont considérés lors de l'itération

Type : Condition simple

comparaison

[facultatif] est évalué au sein d'une portée dans laquelle deux objets locaux respectivement nommés 'Item1' et 'Item2' sont définis. Ils correspondent aux éléments dans la collection. <comparaison> doit être évalué comme true si Item1 doit être placé après Item2 dans l'itération

Type : Condition simple

template-complexe

Template à appliquer à chaque élément.

Type : Template complexe

séparateur

[facultatif] Générer entre deux évaluations de <template-complexe> non vides

Type : Texte

Remarque : Les paramètres de macro peuvent être délimités par des guillemets. Les délimiteurs sont requis lorsque la valeur du paramètre inclut des virgules, des accolades et des espaces de début ou de fin. La séquence d'échappement pour les guillemets au sein d'un paramètre est \".

Exemple :

Attribut

Type de données

Valeur initiale

cust_name

String

__

cust_foreign

Boolean

false

.foreach_item(Attributes,,,,%Item1.Code% >= %Item2.Code%))
	Attribute %Code%[ = %InitialValue%];
.next(\n)

Le résultat est le suivant :

Attribute cust_foreign = false

Attribute cust_name;

Remarque

Les quatre virgules après (Attributes,,,, signifient que tous les paramètres (en-tête, fin, condition et comparison) sont sautés.