Imprimer      Ouvrir la version PDF de l'aide en ligne


Rubrique précédente

Rubrique suivante

PRE

La fonction PRE d'Expression Builder renvoie la valeur précédente du champ spécifié lorsque la valeur de ce dernier est modifiée, avant que la valeur soit mise à jour dans la base de données.

ATTENTION : Il est vivement recommandé de ne pas utiliser la fonction PRE avec des règles de workflow contenant une action d'attente, car ce type d'action a des incidences sur la fonction PRE. Toutes les actions suivant l'action d'attente ne sont pas exécutées tant que la période d'attente spécifiée n'a pas expiré. Les actions restantes sont exécutées dans une opération batch différente de celle dans laquelle la règle a été initialement déclenchée, et les valeurs des champs de l'enregistrement antérieures à l'action qui a déclenché la règle de workflow ne sont pas conservées. Par conséquent, la valeur précédente et la valeur en cours du champ sont toujours considérées comme identiques.

Syntaxe

PRE('<fieldname>')

Type du résultat

Chaîne

Arguments

Le tableau suivant décrit les arguments de la fonction.

Argument

Description

fieldname

Nom du champ modifié

Remarque : Les noms de champ indépendants de la langue et la syntaxe de nom de champ utilisés dans les exemples d'expressions de cette rubrique sont ceux utilisés dans Expression Builder, dans les versions antérieures à la version 29 Service Pack 1. Ces exemples restent valides. Toutefois, si vous sélectionnez les champs correspondants pour une expression de la liste Champs d'Expression Builder dans la version 29 Service Pack 1 ou version ultérieure, les noms de champ et leur syntaxe seront différents de ceux utilisés dans les exemples. Il est recommandé de toujours sélectionner les champs de vos expressions dans la liste Champs d'Expression Builder afin que les noms de champ et leur syntaxe soient toujours corrects. Pour plus d'informations sur les noms de champ et leur syntaxe dans les expressions, reportez-vous à la rubrique A propos des expressions.

Les remarques suivantes s'appliquent lors de l'utilisation de la fonction PRE :

  • Dans les expressions conditionnelles telles que les conditions de workflow et les instructions de validation, si vous utilisez la fonction PRE pour récupérer la valeur précédente d'un champ, gardez en tête que la valeur initiale du champ peut être vide (à savoir une valeur NULL). Si la valeur initiale est NULL, toute comparaison avec une valeur non-NULL occasionnera un comportement imprévisible. Pour assurer l'évaluation correcte des expressions conditionnelles dans ce cas, utilisez la fonction PRE avec la fonction IfNull, comme indiqué dans l'exemple suivant :

    IfNull([<Nom_Champ>], "Incorrect") <> IfNull(PRE('<Nom_Champ>'), "Incorrect")

    Dans cet exemple, la chaîne de texte Incorrect sert à remplacer la valeur NULL, mais vous pouvez utiliser une chaîne de votre choix, à condition qu'elle n'existe pas comme valeur dans le champ examiné.

  • Si la fonction PRE est utilisée dans une règle de workflow ou une action appelée après une action Attendre, la fonction ne renvoie pas la valeur précédente d'un champ. Il se peut toutefois qu'un processus nécessite ces comparaisons. Dans ce cas, vous pouvez utiliser une règle de workflow avec l'événement déclencheur "Avant sauvegarde enregistrement modifié" pour stocker la valeur précédente d'un champ dans un champ inutilisé du type d'enregistrement. Vous pouvez ensuite utiliser la valeur de champ stockée pour toute comparaison requise dans les règles de workflow qui contiennent l'action Attendre.

    Lorsque vous créez la règle de workflow pour stocker la valeur précédente d'un champ dans un champ inutilisé du type d'enregistrement, souvenez-vous que la valeur précédente du champ initial peut être vide (à savoir une valeur NULL). En conséquence, vous devez utiliser une expression telle que la suivante pour stocker une valeur par défaut si vous rencontrez une valeur NULL :

    IfNull([<FieldName>], "Incorrect")

    Dans cet exemple, la chaîne de texte Incorrect est la valeur par défaut utilisée pour remplacer une valeur NULL, mais vous pouvez utiliser une chaîne de votre choix, à condition qu'elle n'existe pas comme valeur dans le champ initial.

Exemple de création d'une règle de workflow qui envoie un e-mail au propriétaire précédent d'un enregistrement Compte

La section ci-après présente un exemple de création d'une règle de workflow qui envoie un e-mail au propriétaire précédent d'un enregistrement Compte suite au changement du propriétaire de l'enregistrement.

Pour créer une règle de workflow qui envoie un e-mail au propriétaire précédent d'un enregistrement Compte

  1. Créez une règle de workflow pour le type d'enregistrement Compte avec l'événement déclencheur "Lors sauvegarde enregistrement modifié".
  2. Enregistrer la règle de workflow.
  3. Créez une action Ajouter un e-mail dans la règle de workflow.
  4. Dans l'action de workflow, procédez comme suit :
    1. Dans le champ A, sélectionnez Adresse e-mail spécifique.
    2. Dans la zone d'expression du champ A, ajoutez l'expression suivante :

      JoinFieldValue('<User>', IfNull(PRE('<OwnerId>'), "admin@mycompany.com"),'<EMailAddr>')

    3. Ajoutez le texte nécessaire dans l'objet et dans le corps de l'e-mail.
    4. Enregistrez l'action de workflow.

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.