Opérateurs (syntaxe Crystal). SAP Enterprise 4.1 Support Package 1
Formules
Ou plus simplement :
//Conditional formatting example 3 -
//equivalent to example 2
{Customer.Last Year's Sales} < 50000
Si le montant des ventes de l'année dernière est inférieur à 50 000 €, l'expression
{Customer.Last Year's Sales} < 50000 est vraie, et la formule renvoie la valeur True. D'un autre côté, si le montant des ventes de l'année dernière est supérieur ou égal à 50 000 €, l'expression
{Customer.Last Year's Sales} < 50000 est fausse et la formule renvoie la valeur False.
13.8.11.9 Fonctions de mise en forme conditionnelle générales (syntaxe Crystal)
Il existe trois fonctions générales de mise en forme conditionnelle :
• CurrentObjectValue
• DefaultAttribute
• GridRowColumnValue
Ces fonctions sont affichées en haut de l'arborescence de fonctions lorsque le contexte s'y prête. Vous pouvez utiliser la fonction DefaultAttribute pour toute formule de mise en forme, la fonction
CurrentObjectValue pour toute formule de mise en forme effectuant la mise en forme d'une valeur d'objet et la fonction GridRowColumnValue pour toute formule de mise en forme dans laquelle vous mettez en forme une valeur d'objet dans un tableau croisé.
La fonction CurrentObjectValue permet plus particulièrement d'effectuer une mise en forme conditionnelle des cellules d'un tableau croisé en fonction de leur valeur tandis que la fonction GridRowColumnValue permet d'effectuer cette mise en forme conditionnelle en fonction de la valeur des en-têtes de lignes ou de colonnes. Ces deux fonctions sont primordiales dans cette situation, car il n'existe pas d'autre moyen dans le langage de formule de faire référence aux valeurs de ces objets. Ce serait le cas si vous vouliez, par exemple, supprimer les cellules d'un tableau croisé contenant une valeur inférieure
à 50 000 :
//Conditional formatting example 4
CurrentObjectValue < 50000
13.8.12 Opérateurs (syntaxe Crystal)
Ce chapitre comprend des exemples d'opérateurs en syntaxe Crystal.
370 2013-09-19
Formules
13.8.12.1 Opérateurs arithmétiques
Les opérateurs arithmétiques sont l'addition (+), la soustraction (-), la multiplication (*), la division (/), la division de nombre entier (\), le pourcentage (%), modulus (Mod), la négation (-) et l'exponentielle
(^). Les opérateurs arithmétiques sont utilisés pour combiner des nombres, des variables numériques, des objets et fonctions numériques pour obtenir un autre nombre.
Exemples
//Outstanding preferred stock as a percent of
//common stock
{Financials.Preferred Stock} %
{Financials.Common Stock};
//The square root of 9, Sqr(9) is 3
//The formula returns 17
7 + 2 * 3 - 2 + Sqr(6 + 3) * Length("up");
13.8.12.1.1 Ordre de priorité (syntaxe Crystal)
Lorsque vous créez des expressions arithmétiques qui mettent en jeu plusieurs opérateurs, l'ordre dans lequel le programme évalue les différents éléments de l'expression devient important. En général, le programme évalue les expressions de gauche à droite. Toutefois, il suit également les règles de priorité des mathématiques.
Exemple
La multiplication et la division sont effectuées en premier, de gauche à droite, puis viennent l'addition et la soustraction.
Par exemple, 5 + 10 * 3 = 5 + 30 = 35. Vous pouvez changer cet ordre de priorité en utilisant des parenthèses. Par exemple, (5 + 10) * 3 = 15 * 3 = 45. L'utilisation de parenthèses est recommandée lorsque vous n'êtes pas certain de l'ordre de priorité.
13.8.12.1.2 Liste des opérateurs arithmétiques, dans l'ordre de priorité décroissant
• Exponentielle (^)
• Négation (-)
• Multiplication, division et pourcentage (*, /, %)
• Division entière (\)
• Modulo (Mod)
• Addition et soustraction (+, -)
371 2013-09-19
Formules
372
13.8.12.2 Opérateurs de comparaison (syntaxe Crystal)
Les opérateurs de comparaison sont : égal à (=), différent de (<>), inférieur à (<), inférieur ou égal à
(<=), supérieur à (>) et supérieur ou égal à (>=).
Les opérateurs de comparaison sont habituellement utilisés pour comparer des opérandes à une condition dans une structure de contrôle telle qu'une expression If. Les opérateurs de comparaison en tant que groupe ont tous une priorité inférieure aux opérateurs arithmétiques. Ainsi, des expressions comme 2 + 3 < 2 * 9 sont l'équivalent d'expressions telles que (2 + 3) < (2*9).
13.8.12.3 Opérateurs booléens (syntaxe Crystal)
Les opérateurs booléens sont, par ordre de priorité décroissant : Not, And, Or, Xor, Eqv et Imp.
Les opérateurs booléens sont habituellement utilisés avec les opérateurs de comparaison pour créer des conditions pour les structures de contrôle. Les opérateurs booléens en tant que groupe ont une priorité plus faible que les opérateurs de comparaison. Ainsi par exemple, l'expression 2<3 And 4>=-1 est équivalente à l'expression (2<3) And (4>=-1).
13.8.12.4 Objets nuls et utilisation de IsNull (syntaxe Crystal)
En général, lorsque Crystal Reports rencontre un objet à valeur nulle dans une formule, il arrête immédiatement l'évaluation de la formule et ne génère aucune valeur. Pour utiliser des valeurs d'objets nuls dans votre formule, vous devez le faire de façon explicite en utilisant l'une des fonctions spéciales conçues à cet effet : IsNull, PreviousIsNull ou NextIsNull.
Exemple
L'objet {Produits.Couleur} contient des couleurs de base comme "rouge" et "noir" et des couleurs fantaisie dont le nom est en deux mots comme "satin acier" et "vert émeraude". Supposons que vous vouliez créer une formule qui écrive "de base" pour les couleurs de base et "fantaisie" pour les autres.
If InStr({Product.Color}, " ") = 0 Then formula = "basic"
Else formula = "fancy"
L'appel de fonction à InStr recherche un espace dans la chaîne {Produits.Couleur}. S'il trouve un espace, il renvoie la position de celui-ci ; sinon, il renvoie 0. Les couleurs de base étant représentées par un mot unique ne comportant pas d'espace, InStr renvoie 0 pour chacune de ces couleurs.
2013-09-19

Public link updated
The public link to your chat has been updated.