Imprimer      Ouvrir la version PDF de l'aide en ligne


Rubrique précédente

Rubrique suivante

A propos des expressions

Une expression est une combinaison valide d'un ou plusieurs opérateurs, fonctions, champs et littéraux qui peuvent être évalués par Oracle CRM On Demand. Cette rubrique fournit des informations sur les fonctions d'expression suivantes :

  • Champs et formats de nom de champ dans les expressions
  • Longueur des expressions
  • Longueur du littéral
  • Expressions conditionnelles
  • Expressions de validation
  • Utilisation de champs dépendants dans les expressions

Champs et syntaxe de nom de champ dans les expressions

La plupart des champs qui sont disponibles dans la page de configuration de champ pour un type d'enregistrement le sont également dans la liste des champs de ce type d'enregistrement dans Expression Builder et peuvent être utilisés dans les expressions.

REMARQUE : Les champs personnalisés du type Texte (court - masquable) sont une exception. Vous ne pouvez pas utiliser ces champs dans une expression dans Expression Builder.

Lorsque vous ajoutez un champ à une expression en sélectionnant son nom dans la liste des champs dans Expression Builder, le champ est entré dans l'éditeur d'expressions avec la syntaxe suivante :

[{FieldName}]

Les noms de champ qui apparaissent dans l'éditeur d'expressions sont les noms de champ indépendants de la langue utilisés pour identifier les champs en interne dans Oracle CRM On Demand. Bien que vous puissiez également saisir les noms de champ directement dans l'éditeur d'expressions en utilisant la syntaxe [{FieldName}], il est recommandé de toujours sélectionner les champs dans la liste de champs de façon à ce que les noms utilisés dans l'expression soient corrects.

A propos des noms de champ et de la syntaxe des noms de champ dans les expressions de versions antérieures

Dans les versions antérieures à la version 29 Service Pack 1 d'Oracle CRM On Demand, lorsque vous sélectionniez un champ dans la liste des champs dans Expression Builder, ce champ était entré dans l'éditeur d'expressions avec la syntaxe suivante :

[<FieldName>]

En outre, dans les versions antérieures à la version 29 Service Pack 1, Expression Builder utilisait des noms de champ indépendants de la langue différents de ceux utilisés dans Expression Builder dans la version 29 Service Pack 1 et les versions ultérieures. Toutes les expressions qui utilisent la syntaxe [<FieldName>] et les noms de champ correspondants, et qui étaient valides dans des versions antérieures le restent dans la version 29 Service Pack 1 et versions ultérieures. Vous pouvez également continuer à taper les anciens noms de champ indépendants de la langue avec la syntaxe [<FieldName>] directement dans l'éditeur d'expressions, si vous le souhaitez. Toutefois, il est recommandé de toujours sélectionner les champs dans la liste Champs d'Expression Builder afin que les noms de champ et leur syntaxe soient toujours corrects.

Une expression peut contenir une combinaison de nouveaux et d'anciens noms de champ, à condition d'utiliser la syntaxe [{FieldName}] pour les nouveaux noms de champ, et la syntaxe [<FieldName>] pour les anciens noms de champ.

A propos des exemples dans l'Aide en ligne d'Oracle CRM On Demand

Certains des exemples d'expressions figurant dans l'aide en ligne utilisent les noms de champ indépendants de la langue, ainsi que la syntaxe de nom de champ utilisée dans les versions antérieures à la version 29 Service Pack 1. Ces exemples restent valides. Toutefois, si vous sélectionnez les champs correspondants dans la liste de champs d'Expression Builder lorsque vous créez ou mettez à jour une expression dans la version 29 Service Pack 1 ou une version ultérieure, les noms de champ figurant dans l'expression seront différents de ceux affichés dans les exemples de l'aide en ligne, et les champs s'afficheront dans l'éditeur d'expressions avec la nouvelle syntaxe de champ.

Longueur des expressions

L'expression du corps d'un e-mail créé par le biais de l'action Envoyer un e-mail sur une règle de workflow est limitée à 2 000 caractères, espaces compris. Vous pouvez insérer un saut de ligne dans l'e-mail en appuyant sur Entrée. Un saut de ligne compte pour deux caractères dans la zone de texte.

Dans tous les autres cas dans lesquels Expression Builder est utilisé, une expression est limitée à 1 024 caractères, espaces compris.

Vous devez également vérifier que le nombre total de caractères du champ dans lequel vous enregistrez l'expression ne dépasse pas la limite dudit champ. Dans les champs de workflow suivants, trois signes de pourcentage (%%%) sont placés avant et après les noms de fonction et de champ.

  • Champs Objet et Corps du message d'un e-mail configuré par le biais de l'action Envoyer un e-mail
  • Champs Objet et Description d'une tâche configurée par le biais de l'action Créer une tâche

Les signes de pourcentage indiquent que le nom de la fonction ou du champ doit être converti en valeur textuelle. Chaque signe de pourcentage compte pour un caractère dans le champ dans lequel est enregistrée l'expression.

Si vous saisissez un nom de fonction ou de champ directement dans le champ, vous devez le faire précéder et suivre de trois symboles de pourcentage. Si vous utilisez Expression Builder pour intégrer une fonction ou un nom de champ, les symboles de pourcentage sont automatiquement ajoutés.

Par exemple, si vous utilisez Expression Builder pour insérer le nom de champ suivant dans le corps d'un e-mail dans le cadre d'une action de worfklow :

[{Name}]

Expression Builder insère l'expression suivante (14 caractères au total) dans le corps de l'e-mail de l'action de workflow :

%%%[{Name}]%%%

Longueur du littéral

Lorsque vous transmettez un littéral de type chaîne ou numérique à une fonction d'Expression Builder, ce littéral ne doit pas comporter plus de 75 caractères (espaces inclus). Dans le cas contraire, Expression Builder considère le littéral comme une erreur de syntaxe. Lorsque vous transmettez une chaîne à une fonction en référençant un nom de champ, la limite de 75 caractères ne s'applique pas à la valeur contenue dans le champ transmis au littéral.

Lorsque vous créez une expression en vue de définir une valeur par défaut pour un champ, la limite de 75 caractères s'applique à tout littéral de type chaîne ou numérique transmis à n'importe quelle fonction de l'expression. Par ailleurs, le nombre de caractères du résultat de l'expression ne doit pas dépasser le nombre maximum de caractères autorisés dans le champ.

Expressions conditionnelles

Une expression conditionnelle est une expression qui renvoie toujours une valeur booléenne (TRUE ou FALSE) lors de son évaluation par l'application.

REMARQUE : Oui, Non, O et N ne sont pas des valeurs booléennes. Si vous indiquez TRUE ou FALSE en tant que valeurs de retour pour des fonctions telles que la fonction IIf, les valeurs TRUE et FALSE sont renvoyées en tant que chaînes et non en tant que valeurs booléennes. L'utilisation de valeurs booléennes incorrectes dans des expressions conditionnelles peut entraîner un comportement imprévisible de l'application.

Une expression utilisée dans l'un des contextes suivants doit être une expression conditionnelle :

  • pour spécifier une règle de validation de champ ;
  • pour spécifier une condition dans une règle de workflow ;
  • comme premier paramètre dans une fonction IIf.

Expressions de validation

Les expressions de validation sont utilisées pour vérifier que les données saisies dans les champs sont valides. Une expression de validation doit être une expression conditionnelle.

L'expression de validation d'un champ est évaluée à chaque fois que le champ est mis à jour dans un nouvel enregistrement ou dans un enregistrement existant. En revanche, elle n'est pas évaluée dans les cas suivants :

  • Ce champ reste vide lors de la création ou de la modification de l'enregistrement. La validation de champ ne nécessite pas l'insertion obligatoire d'une valeur.
  • Le champ a une valeur préexistante, valide ou non, et cette valeur n'est pas modifiée lors de la mise à jour de l'enregistrement.

Si une expression de validation n'est pas évaluée ou a pour résultat la valeur NULL, aucun message d'erreur n'est généré. Un message d'erreur est généré uniquement en cas d'échec de l'expression de validation (si le résultat de l'évaluation de l'expression est FALSE).

Une expression de validation diffère des autres types d'expressions par le fait qu'elle peut commencer par un opérateur conditionnel. Par exemple, si Nom du compte est le champ en cours de validation par l'expression, l'expression peut commencer par :

= 'Hôpital Acme'

Cette expression, bien qu'incorrecte dans la forme, passera sans problème une vérification de syntaxe, car Oracle CRM On Demand insère le nom du champ en cours de validation avant l'expression s'il ne trouve pas de nom de champ au début de l'expression. Vous pouvez également saisir l'expression de validation comme suit :

[<AccountName>]= 'Hôpital Acme'

[<AccountName>] est le champ en cours de validation.

Si l'expression requiert l'évaluation d'autres champs en plus du champ en cours de validation, il est courant que la première comparaison dans l'expression soit effectuée sur le champ en cours de validation.

Les expressions de validation sont uniquement utilisées dans la zone de texte Validation des champs dans la gestion avancée des champs dans Oracle CRM On Demand.

Exemples d'expression de validation

Exemple 1 : Un processus requiert que la date de clôture d'une opportunité soit postérieure à la date de création de l'opportunité.

Pour implémenter ce processus, créez une expression de validation pour le champ Date de clôture (sur la page Configuration des champs des opportunités) comme suit :

> [<CreatedDate>]

Vous pouvez également utiliser l'exemple suivant, mais notez que le champ en cours d'évaluation (Date de clôture) doit être le premier champ de l'expression :

[<CloseDate>] > [<CreatedDate>]

Pour plus d'informations sur la création et la modification de champs, reportez-vous à la rubrique Création et modification de champs.

Exemple 2 : Un processus requiert que le chiffre d'affaires d'une opportunité soit différent de zéro lorsque la probabilité de l'opportunité est égale ou supérieure à 40%.

La règle métier indique que la dépendance s'exécute sur les deux champs et peut être redéfinie comme suit :

Pour une opportunité, le chiffre d'affaires ne peut pas être égal à zéro lorsque la probabilité est égale ou supérieure à 40. A l'inverse, la probabilité ne peut pas être égale ou supérieure à 40 si le CA est zéro.

L'expression de validation d'un champ est évaluée lors de la création de l'enregistrement et chaque fois que le champ est mis à jour par un utilisateur. Etant donné qu'une mise à jour du champ Probabilité ou CA peut affecter les deux champs, vous devez disposer de règles de validation à la fois pour les champs Probabilité et CA pour pouvoir implémenter correctement la règle métier. (Pour plus d'informations sur la création et la modification de champs, reportez-vous à la rubrique Création et modification de champs.)

Les étapes requises pour l'implémentation de cet exemple sont les suivantes :

  1. Configurez la règle de validation suivante pour le champ Probabilité :

    < 40 OR ([<Probability>]>= 40 AND [<Revenue>]> 0)

    Notez que vous n'utilisez pas le signe pourcentage (%).

  2. Ajoutez au champ Probabilité un message d'erreur de validation semblable au suivant :

    Le CA doit être supérieur à 0 lorsque la probabilité est égale ou supérieure à 40%.

  3. Configurez la règle de validation suivante pour le champ CA :

    (> 0 AND [<Probability>]>= 40) OR [<Probability>]< 40

  4. Ajoutez au champ CA un message d'erreur de validation semblable au suivant :

    Le CA doit être supérieur à 0 lorsque la probabilité est égale ou supérieure à 40%.

Utilisation de champs dépendants dans les expressions

Un champ dépendant est un champ joint dont les valeurs dépendent d'une clé étrangère. Un champ joint est un champ d'un type d'enregistrement qui utilise une clé étrangère pour faire référence à un champ d'un autre type d'enregistrement. A titre d'exemple, le champ Nom du compte du type d'enregistrement Opportunité est un champ dépendant. En effet, le champ Nom du compte du type d'enregistrement Opportunité est un champ joint dont les valeurs dépendent de la clé étrangère ID du compte, qui fait référence au type d'enregistrement Compte.

Si votre expression doit déterminer la valeur d'un champ dépendant, il est recommandé d'utiliser la fonction JoinFieldValue et d'obtenir la valeur la plus récente du champ en faisant référence au champ d'ID, à savoir le champ de clé étrangère. Sinon, les résultats de votre expression risquent d'être incorrects et la valeur obtenue, de ne pas être valide. Pour plus d'informations sur les champs joints et la fonction JoinFieldValue, voir JoinFieldValue.

Rubriques connexes

Pour obtenir des informations sur Expression Builder, reportez-vous aux rubriques suivantes :


Publié en août 2018 Copyright © 2005, 2018, Oracle. Tous droits réservés. Legal Notices.