Expressions (syntaxe Crystal). SAP Enterprise 4.1 Support Package 1
Formules
13.8.5 Expressions (syntaxe Crystal)
Une expression correspond à toute combinaison de mots clés, d'opérateurs, de fonctions et de valeurs constantes dont le résultat est une valeur d'un type donné. Par exemple :
//An expression that evaluates to the Number value 25
10 + 20 - 5
//An expression that evaluates to the String value
//"This is a string."
"This is a string."
Une formule utilisant la syntaxe Crystal est composée d'une suite d'expressions. La valeur de l'expression finale est la valeur renvoyée par la formule et ce qui a été imprimé. Chaque expression doit être séparée de la précédente par un point-virgule (;).
Cliquez sur le lien approprié pour accéder à la section correspondante :
13.8.5.1 Expressions multiples (syntaxe Crystal)
Habituellement, chaque expression occupe une ligne, mais vous pouvez la continuer sur la ligne suivante si vous avez besoin de plus de place.
La formule ci-dessous est composée de cinq expressions. Elle renvoie la valeur numérique 25 car celle-ci correspond à la dernière expression de la formule.
Exemple
//Expressions example
//The first expression. Its value is the Number
//value 30
10 + 20;
//The second expression. Its value is the String
//"Hello World". It takes up two lines.
"Hello " +
"World";
//The third expression. Its value is of Number type
{Orders Detail.Quantity} * 2 - 5;
//The fourth expression. Its value is of String type
If {Orders Detail.Quantity} > 1 Then
"multiple units"
Else
"one unit";
//The fifth and final expression. Its value is the
//Number value 25
20 + 5
Un point-virgule peut être placé après la dernière expression de la formule, mais cela est facultatif. Par exemple, la formule précédente pourrait se terminer ainsi :
20 + 5;
Certaines formules présentées dans la section
ne comportent pas de point-virgule. C'est parce qu'elles sont composées d'une seule expression et que le point-virgule est
351 2013-09-19
Formules facultatif après la dernière expression. Dans la syntaxe Crystal, de nombreuses formules peuvent être
écrites sous la forme d'une seule expression.
Remarquez qu'il n'y a pas de point-virgule après la chaîne "plusieurs unités". En fait, si vous placez un point-virgule à cet endroit, le programme signalera une erreur. C'est parce qu'un point-virgule sépare les expressions, et que le groupe
Else
"one unit"; ne forme pas une expression séparée. Il ne peut pas exister sans le If. En fait, il fait partie intégrante de l'expression If car il décrit la valeur qui sera renvoyée par celle-ci dans certaines circonstances.
Remarque :
L'exemple fourni manque d'intérêt pratique car les 4 premières expressions de la formule n'ont aucun effet sur la dernière.
13.8.5.2 Incidence d'une expression donnée sur les expressions ultérieures
(syntaxe Crystal)
Le fait qu'une formule établie avec la syntaxe Crystal soit une suite d'expressions dont le résultat est la valeur de l'expression finale est le concept le plus important pour la compréhension de la syntaxe
Crystal. Cette syntaxe reposant sur les expressions vous permet d'écrire des formules très courtes comportant de nombreuses fonctionnalités.
Exemple
//First expression. It declares the Number variable x
//and then returns the value of an uninitialized
//Number variable, which is 0.
NumberVar x;
//Second expression. It assigns the value of 30 to x,
//and returns 30.
x := 30
La formule ci-dessus produirait une erreur si la première expression était omise. En effet, la deuxième expression fait référence à la variable numérique x, et le programme exige que la variable x soit déclarée pour pouvoir comprendre les expressions dans lesquelles elle intervient.
En général, vous utilisez des variables pour que les expressions précédentes d'une formule aient une incidence sur l'expression finale. Pour en savoir plus, voir
.
13.8.5.3 Utilisation de l'expression If (syntaxe Crystal)
L'expression If est l'une des fonctionnalités les plus utilisées de la syntaxe Crystal. Elle donne également une idée de la nature des expressions. Considérez la première expression If comme une formule
352 2013-09-19

Публичная ссылка обновлена
Публичная ссылка на ваш чат обновлена.