Tutoriel de débogage des formules. SAP Enterprise 4.1 Support Package 1
Formules
13.5.4.2 Pour supprimer la spécification de formule
• Dans la vue "Explorateur de données", cliquez avec le bouton droit de la souris sur la formule à supprimer, puis cliquez sur Supprimer.
13.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.
13.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.
332 2013-09-19
Formules
333
13.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"
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.
Passez à la section
.
2013-09-19
Formules
334
13.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.
Passez à la section
.
13.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 (").
2013-09-19
Formules
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
.
13.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.
Passez à la section
.
335 2013-09-19
Formules
336
13.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.
Passez à la section
13.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.
2013-09-19

Enlace público actualizado
El enlace público a tu chat ha sido actualizado.