Tutoriel de débogage des formules. SAP pour Enterprise
14.6 Tutoriel de débogage des formules
Les formules (qu'il s'agisse de formules ou de formules de mise en forme conditionnelle) contenant des erreurs de compilation sont signalées par une icône d'erreur. Un message d'erreur s'affiche également dans la vue
Problèmes
. La vue
Problèmes
est automatiquement visible en bas du volet Atelier de formules.
Suivez l'exemple ci-dessous pour apprendre les étapes nécessaires au débogage d'une formule. Après avoir terminé cet exercice, utilisez le même principe pour déboguer vos formules.
14.6.1 A propos de ce tutoriel
● Ce tutoriel utilise l'exemple de base de données Xtreme.mdb.
● Ce tutoriel utilise la syntaxe Crystal.
● La formule suivante est la formule que vous testerez pour trouver d'éventuelles erreurs :
If ({CUSTOMER.CUSTOMER_NAME} [1 to 2 = "Bi" and
ToText({customer,CUSTOMER ID}) [1] = "6") Or
({CUSTOMER.CUSTOMER_NAME} [1 to 2] = 'Ro" and
ToText({CUSTOMER.CUSTOMER ID}) [1] = "5")
"PREFERRED CUSTOMER"
Else
"DOES NOT FIT CRITERIA"
Si elle est correcte, cette formule devrait sélectionner tous les clients dont le nom commence par "Bi" et dont l'ID client commence par “6” ainsi que les entreprises dont le nom commence par "Ro" et dont l'ID client commence par “5”. Lors de l'impression de l'objet, les enregistrements sélectionnés seront estampillés “CLIENT PRIVILEGIE” alors que le reste sera estampillé “NE REPOND PAS AUX CRITERES”.
Examinez à présent chaque partie de la formule pour vérifier que chaque condition fonctionne individuellement.
14.6.1.1 Formule1
1. Pour commencer, créez un rapport en utilisant le dossier Clients de la base de données Xtreme et placez les objets suivants dans la section Corps :
{CUSTOMER.CUSTOMER_ID}
{CUSTOMER.CUSTOMER_NAME}
Pour tester chaque partie de la formule, placez une nouvelle formule à côté de ces deux objets dans le rapport.
2. Créez une nouvelle formule appelée Formule1.
3. Sélectionnez
Formules
dans l'onglet
Données
de Crystal Reports Designer, puis saisissez la formule suivante :
If {CUSTOMER.CUSTOMER_NAME} [1 to 2 = "Bi" Then
"TRUE"
Else
"FALSE"
Guide de l'utilisateur de SAP Crystal Reports pour Enterprise
Formules
©
2014 SAP SE ou société affiliée SAP. Tous droits réservés.
305
Un X apparaît dans la marge. Lorsque vous placez le curseur sur le X, le message d'erreur suivant apparaît :
The ] is missing.
4. Corrigez la formule en insérant le signe ] manquant après le 2.
Lorsque la formule est correcte, le signe X disparaît.
5. Cliquez sur
Enregistrer et fermer
.
6. Sélectionnez l'onglet
Structure
dans Crystal Reports Designer.
7. Insérez la formule corrigé à côté des deux objets de données de la section Corps de votre rapport.
8. Cliquez sur l'onglet
Page
.
9. Vérifiez les valeurs dans le rapport et comparez les objets afin de voir si les valeurs renvoyées par @Formule1 sont correctes.
La valeur "TRUE" est affichée en regard des noms de client commençant par "Bi" et "FALSE" en regard des autres.
Vérifiez maintenant les autres portions de la formule. Créez Formule2, Formule3 et Formule4 à l'aide des formules spécifiées pour chacune d'elles.
Insérez chaque formule sur la même ligne de la section Corps afin de pouvoir effectuer une comparaison rapide.
Vérifiez qu'ils ne contiennent pas d'erreurs, le cas échéant corrigez-les et vérifiez que les valeurs renvoyées sont correctes avant de passer à la formule suivante.
14.6.1.2 Formule2
1. Créez une nouvelle formule et donnez-lui le nom Formule2.
2. Sélectionnez l'onglet
Formule
dans Crystal Reports Designer, puis saisissez la formule suivante :
If ToText({customer,CUSTOMER ID}) [1] = "6" Then
"TRUE"
Else
"FALSE"
Un X apparaît dans la marge. Lorsque vous placez le curseur sur le X, le message d'erreur suivant apparaît :
This object name is not known.
3. Corrigez la formule en remplaçant la virgule (,) dans le nom de l'objet par un point (.).
Lorsque la formule est correcte, le signe X disparaît.
4. Placez la formule à côté de l'objet @Formule1.
5. Cliquez sur l'onglet
Page
.
6. Vérifiez les valeurs dans le rapport et comparez les objets afin de voir si les valeurs renvoyées par @Formule2 sont correctes.
La valeur "TRUE" doit apparaître à côté de tous les numéros de client commençant par 6 et la valeur "FALSE"
à côté des autres numéros de client.
306
©
2014 SAP SE ou société affiliée SAP. Tous droits réservés.
Guide de l'utilisateur de SAP Crystal Reports pour Enterprise
Formules
14.6.1.3 Formule3
1. Créez une nouvelle formule et donnez-lui le nom Formule3.
2. Sélectionnez l'onglet
Formule
dans Crystal Reports Designer, puis saisissez la formule suivante :
If {CUSTOMER.CUSTOMER_NAME} [1 to 2] = 'Ro" Then
"TRUE"
Else
"FALSE"
Un X apparaît dans la marge. Lorsque vous placez le curseur sur le X, le message d'erreur suivant apparaît :
The matching ' for this string is missing.
3. Corrigez la formule en changeant le guillemet simple (') avant Ro en guillemet double (").
Lorsque la formule est correcte, le signe X disparaît.
4. Placez la formule à côté de l'objet @Formule2.
5. Cliquez sur l'onglet
Page
.
6. Vérifiez les valeurs dans le rapport et comparez les objets afin de voir si les valeurs renvoyées par @Formule3 sont correctes.
La valeur "TRUE" devrait maintenant être affichée à côté des noms de clients commençant par "Ro" et
"FALSE" à côté des autres noms de clients.
Passez à la section
14.6.1.4 Formule4
1. Créez une nouvelle formule et donnez-lui le nom Formule4.
2. Sélectionnez l'onglet
Formule
dans Crystal Reports Designer, puis saisissez la formule suivante :
If ToText({CUSTOMER.CUSTOMER ID}) [1] = "5"
"TRUE"
Else
"FALSE"
Un X apparaît dans la marge. Lorsque vous placez le curseur sur le X, le message d'erreur suivant apparaît :
The keyword 'then' is missing.
3. Corrigez la formule en entrant le mot "Then" après "5" à la fin de la première ligne.
Lorsque la formule est correcte, le signe X disparaît.
4. Placez la formule à côté de l'objet @Formule3.
5. Cliquez sur l'onglet
Page
.
6. Vérifiez les valeurs dans le rapport et comparez les objets afin de voir si les valeurs renvoyées par @Formule4 sont correctes.
La valeur "TRUE" devrait à présent apparaître à côté de tous les ID client commençant par 5 et la valeur
"FALSE" à côté des autres ID client.
Maintenant que les formules ne contiennent plus d'erreurs et que les valeurs d'objet renvoyées sont correctes, créez une formule reliant les composants distincts. Commencez par relier les deux premières formules
(@Formule1 et @Formule2) et ajoutez ensuite @Formule3 et @Formule4 pour créer la formule finale
@FormuleFinale.
Guide de l'utilisateur de SAP Crystal Reports pour Enterprise
Formules
©
2014 SAP SE ou société affiliée SAP. Tous droits réservés.
307
[page 308].
14.6.1.5 Formule1+2
1. Créez une nouvelle formule et donnez-lui le nom Formule1+2.
2. Sélectionnez l'onglet
Formule
dans Crystal Reports Designer, puis saisissez la formule suivante :
If {CUSTOMER.CUSTOMER_NAME} [1 to 2] = "Bi" and
ToText({CUSTOMER.CUSTOMER ID}) [1] = "6" Then
"TRUE"
Else
"FALSE"
3. Placez la formule à droite de l'objet @Formule4.
4. Cliquez sur l'onglet
Page
.
5. Vérifiez les valeurs dans le rapport et comparez les objets afin de voir si les valeurs renvoyées par
@Formule + 2 sont correctes.
L'indication "TRUE" (vrai) devrait apparaître à côté de chaque client dont le nom commence par Bi et dont l'ID commence par 6, et l'indication "FALSE" (faux) devrait apparaître à côté de tous les ID client qui ne répondent pas à ce critère.
Si cette formule fonctionne correctement, vous pouvez créer une dernière formule en ajoutant le code de
@Formule3 et @Formule4.
[page 308].
14.6.1.6 FormuleFinale
1. Créez une nouvelle formule et donnez-lui le nom FormuleFinale.
2. Sélectionnez l'onglet
Formule
dans Crystal Reports Designer, puis saisissez la formule suivante :
If ({CUSTOMER.CUSTOMER_NAME} [1 to 2] = "Bi" and
ToText({CUSTOMER.CUSTOMER ID}) [1] = "6") or
({CUSTOMER.CUSTOMER_NAME} [1 to 2] = "Ro" and
ToText({CUSTOMER.CUSTOMER ID}) [1] = "5") Then
"PREFERRED CUSTOMER"
Else
"DOES NOT FIT CRITERIA"
3. Placez la formule à l'endroit où vous voulez qu'elle apparaisse dans la section Corps du rapport. Vous pouvez maintenant supprimer toutes les autres formules du rapport. Pour en savoir plus, voir
4. Enregistrez le rapport.
5. Cliquez sur l'onglet
Page
.
6. Vérifiez les valeurs dans le rapport et comparez les objets afin de voir si les valeurs renvoyées par
@FormuleFinale sont correctes.
L'indication "CLIENT PRIVILEGIE" devrait à présent être affichée à côté de tous les clients dont le nom commence par "Bi" et l'ID par 6 ou les clients dont le nom commencent par "Ro" et l'ID par 5. L'indication "NE
REPOND PAS AUX CRITERES" devrait apparaître à côte de tous les ID des clients ne répondant pas aux critères.
308
©
2014 SAP SE ou société affiliée SAP. Tous droits réservés.
Guide de l'utilisateur de SAP Crystal Reports pour Enterprise
Formules

Öffentlicher Link aktualisiert
Der öffentliche Link zu Ihrem Chat wurde aktualisiert.