Arguments et évaluation de fonction

Lorsqu'une fonction est évaluée, le nombre d'objets arguments utilisés pour une évaluation dépend de la fonction.

Dans la spécification de la syntaxe d'une fonction, le nombre d'objets en entrée pouvant être utilisés pour chaque argument pour une évaluation de fonction est exprimé par "single" ou "series".

Certaines fonctions utilisent un objet unique en tant que valeur d'un argument pour une évaluation. Par exemple, la fonction ABS utilise un objet unique en tant que valeur de son argument pour une évaluation.

ABS ( Quantity:LineItem )

Lorsqu'un objet unique est utilisé pour une évaluation, la fonction peut être évaluée plusieurs fois si plusieurs objets données correspondent à la définition d'argument. Par exemple, s'il existe dix objets données Quantité:Poste, la fonction ABS peut être évaluée dix fois.

Certaines fonctions utilisent une série complète d'objets en tant que valeur d'un argument pour une évaluation. Par exemple, la fonction COUNT utilise une série complète d'objets données en tant que valeur de son argument pour une évaluation.

COUNT ( LineItem:PO )

Lorsqu'une série d'objets données est utilisée pour une évaluation, la fonction est évaluée une seule fois lorsque plusieurs objets données correspondent à la définition d'argument. Par exemple, s'il existe dix objets données Poste:Bon_de_commande, la fonction COUNT n'est évaluée qu'une fois.

Certaines fonctions utilisent une série complète en entrée et produisent une série en sortie. Par exemple, le jeu d'évaluation de la fonction EXTRACT produit une série à partir d'une série en entrée. Lorsqu'une fonction produit une série, chaque sortie peut être sélectionnée pour différents jeux d'évaluation de l'expression contenant cette fonction.

Considérons l'expression suivante :

Line Item(s) = EXTRACT ( Line Item:Order, Qty:Line Item:Order > 1000 )

Chaque Poste correspondant aux critères spécifiés produit un Poste de Commande. Dans cet exemple, la règle de mappe est évaluée plusieurs fois, pour chaque Poste produit par la fonction EXTRACT.

Lorsque des fonctions font partie d'autres expressions, le nombre de jeux d'évaluation pour cette fonction dépend des noms d'objet utilisés dans la totalité de l'expression. Par exemple :

Debit ( s ) = ABS ( Debit:Account:Input )

L'expression ci-dessus peut comporter plusieurs jeux d'évaluation. La fonction ABS peut être évaluée plusieurs fois, une fois pour chaque Débit de chaque Compte d'Entrée. Toutefois, si la fonction ABS fait partie d'une expression plus complexe, les objets communs de l'expression peuvent déterminer le nombre d'évaluations ABS.