Afdrukken      PDF-versie openen van online-help


Vorig onderwerp

Volgend onderwerp

PRE

De functie 'PRE' in Expression Builder retourneert de vorige waarde van het opgegeven veld wanneer de veldwaarde wordt gewijzigd, maar voordat de waarde in de database wordt bijgewerkt.

LET OP: het is raadzaam de PRE-functie niet te gebruiken in combinatie met workflowregels die een actie 'Wachten' bevatten omdat de actie 'Wachten' invloed heeft op de PRE-functie in de regelvoorwaarde. Alle acties die volgen op de wachtactie worden pas uitgevoerd nadat de opgegeven wachtperiode is verstreken. De resterende acties worden uitgevoerd in een andere batchverwerking dan de verwerking waarbij de regel oorspronkelijk was gestart. Bovendien worden de waarden van de velden in de record voorafgaande aan de actie die de workflowregel heeft gestart, niet bewaard. De vorige en huidige waarde van het veld worden daarom altijd gezien als één en dezelfde waarde.

Syntaxis

PRE('<fieldname>')

Resultaattype

Tekenreeks

Argumenten

In de volgende tabel vindt u een omschrijving van de argumenten voor de functie.

Argument

Omschrijving

fieldname

De naam van het veld dat is gewijzigd.

OPMERKING: de taalonafhankelijke veldnamen en de syntaxis van de veldnamen die worden gebruikt in voorbeeldexpressies in dit onderwerp, zijn veldnamen en syntaxis van veldnamen die werden gebruikt in Expression Builder in versies vóór Versie 29 Service Pack 1. Deze voorbeelden zijn nog steeds geldig. Als u echter de overeenkomende velden selecteert voor een expressie uit de lijst met velden in Expression Builder in Versie 29 Service Pack 1 of later, zijn de veldnamen en de syntaxis van de veldnamen anders dan die uit de voorbeelden. U wordt aangeraden altijd de velden te selecteren voor uw expressies uit de lijst met velden in Expression Builder zodat de veldnamen en de syntaxis van de veldnamen altijd correct zijn. Zie Expressies voor meer informatie over de veldnamen en de syntaxis van de veldnamen in expressies.

Wanneer u de functie 'PRE' gebruikt, zijn de volgende richtlijnen van toepassing:

  • Onthoud dat als u in conditionele expressies zoals workflowregels en validatie-instructies de functie 'PRE' gebruikt om de vorige waarde van een veld op te halen, de oorspronkelijke waarde van het veld leeg kan zijn (dat wil zeggen een null-waarde bevat). Als de oorspronkelijke waarde null is, resulteert een vergelijking met een niet-null-waarde in onvoorspelbaar gedrag. Om ervoor te zorgen dat conditionele expressies in dergelijke gevallen juist worden geëvalueerd, gebruikt u de functie 'PRE' met de functie 'IfNull' zoals in dit voorbeeld:

    IfNull([<FieldName>], "Ongeldig") <> IfNull(PRE('<FieldName>'), "Ongeldig")

    In dit voorbeeld wordt de tekenreeks Invalid gebruikt om de null-waarde te vervangen, maar u kunt elke gewenste tekenreeks gebruiken, zolang die tekenreeks niet voorkomt als een waarde in het veld dat wordt onderzocht.

  • Als de functie 'PRE' wordt gebruikt in een workflowregel of actie die is opgeroepen op basis van een actie 'Wachten', wordt de vorige waarde van een veld niet geretourneerd. Het is echter mogelijk dat deze vergelijkingen vereist zijn voor uw bedrijfsprocessen. In dat geval kunt u een workflowregel gebruiken met de signaleringsgebeurtenis 'Voor opslag gewijzigde record' om de vorige waarde van een veld op te slaan in een ongebruikt veld op de record. U kunt het opgeslagen veld vervolgens gebruiken voor alle vergelijkingen die u nodig hebt in workflowregels met de actie 'Wachten'.

    Wanneer u een workflowregel maakt om de vorige waarde van een veld op te slaan in een ongebruikt veld op het type record, onthoud dan dat de vorige waarde van het oorspronkelijke veld leeg kan zijn (een null-waarde bevat). In dat geval gebruikt u een expressie zoals onderstaande expressie om een standaardwaarde op te slaan wanneer een null-waarde wordt geretourneerd:

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

    In dit voorbeeld wordt de tekenreeks Invalid gebruikt als standaardwaarde om de null-waarde te vervangen, maar u kunt elke gewenste tekenreeks gebruiken, zolang die tekenreeks niet voorkomt als een waarde in het oorspronkelijke veld.

Voorbeeld van een workflowregel waarmee een e-mail kan worden verzonden naar de vorige eigenaar van een accountrecord

In het volgende voorbeeld wordt uitgelegd hoe u een workflowregel kunt maken waarmee u een e-mail kunt verzenden naar de vorige eigenaar van een accountrecord wanneer de eigenaar van een record is gewijzigd.

Een workflowregel maken om een e-mail te verzenden aan de vorige eigenaar van een accountrecord

  1. Een workflowregel maken voor het accountrecordtype met de signaleringsgebeurtenis 'Voor opslag gewijzigde record'.
  2. Sla de workflowregel op.
  3. E-mailactie maken en toevoegen aan de workflowregel.
  4. Voer de volgende stappen uit in de workflowactie:
    1. Selecteer een specifiek e-mailadres in het veld 'Aan'.
    2. Voeg de volgende expressie toe in het expressietekstvak van het veld 'Aan':

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

    3. Voeg de benodigde tekst toe in de onderwerpregel en de berichttekst van de e-mail.
    4. Sla de workflowactie op.

Verwante onderwerpen

Zie de volgende onderwerpen voor meer informatie over Expression Builder:


Gepubliceerd op augustus 2018 Copyright © 2005, 2018, Oracle. Alle rechten voorbehouden. Legal Notices.