Drucken      PDF-Version der Onlinehilfe öffnen


Vorheriges Thema

Nächstes Thema

PRE

Die Funktion "PRE" in Expression Builder gibt den vorherigen Wert des angegebenen Feldes zurück, wenn der Feldwert geändert wird und bevor der Wert in der Datenbank aktualisiert wird.

ACHTUNG: Es wird dringend empfohlen, die Funktion "PRE" nicht für Workflow-Regeln mit einer Warteaktion zu verwenden, da die Warteaktion die Funktion "PRE" beeinträchtigt. Alle Aktionen, die auf die Warteaktion folgen, werden erst nach Ablauf der Wartezeit ausgeführt. Die ausstehenden Aktionen werden in einem anderen Batch-Vorgang als der ursprünglich ausgelöste Regelvorgang ausgeführt. Die ursprünglichen Feldwerte im Datensatz vor der Aktion, die den Workflow ausgelöst haben, werden nicht beibehalten. Der vorherige Wert und der aktuelle Wert des Feldes gelten daher immer als identisch.

Syntax

PRE('<fieldname>')

Ergebnistyp

Zeichenfolge

Argumente

In der folgenden Tabelle werden die Argumente für die Funktion beschrieben.

Argument

Beschreibung

fieldname

Der Name des Feldes, das geändert wurde.

HINWEIS: Bei den sprachunabhängigen Feldnamen und der Feldnamensyntax, die in allen Beispielausdrücken in diesem Thema verwendet werden, handelt es sich um die Feldnamen und Feldnamensyntax, die in Expression Builder in Releases vor Release 29 Service Pack 1 verwendet wurden. Diese Beispiele sind weiterhin gültig. Wenn Sie jedoch die entsprechenden Felder für einen Ausdruck in der Liste "Felder" in Expression Builder ab Release 29 Service Pack 1 auswählen, unterscheiden sich die Feldnamen und die Feldnamensyntax von den Namen und der Syntax in den Beispielen. Es wird empfohlen, die Felder für Ihre Ausdrücke immer in der Liste "Felder" in Expression Builder auszuwählen, sodass die Feldnamen und die Feldnamensyntax stets richtig sind. Weitere Informationen zu den Feldnamen und zur Feldnamensyntax in Ausdrücken finden Sie unter Informationen zu Ausdrücken.

Bei Verwendung der Funktion PRE sind folgende Aspekte zu beachten:

  • In Bedingungsausdrücken wie beispielsweise Workflow-Bedingungen und Validierungsanweisungen sollten Sie bei der Verwendung der Funktion PRE zum Abrufen des vorhergehenden Wertes eines Feldes beachten, dass der Initialwert des Feldes leer sein kann (also ein Nullwert). Wenn der Initialwert null ist, resultiert jeder Vergleich mit einem Wert, der nicht null ist, in einem nicht vorhersehbaren Verhalten. Um sicherzustellen, dass Bedingungsausdrücke in solchen Fällen korrekt ausgewertet werden, sollten Sie die Funktion PRE wie im folgenden Beispiel gezeigt zusammen mit den Funktion IfNull verwenden:

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

    In diesem Beispiel wird die Textzeichenfolge Invalid verwendet, um den Nullwert zu ersetzen. Sie können jedoch jede beliebige Zeichenfolge verwenden, solange diese Zeichenfolge nicht als Wert in dem untersuchten Feld vorhanden ist.

  • Wenn die Funktion PRE in einer Workflow-Regel verwendet wird oder in einer Aktion, die nach einer Warteaktion aufgerufen wird, gibt die Funktion nicht den vorhergehenden Wert eines Feldes zurück. Möglicherweise sind aber in einem bestimmten Geschäftsprozess solche Vergleiche erforderlich. In solchen Fällen können Sie eine Workflow-Regel mit dem Auslöseereignis "Vor geändertem Datensatz gesp." zum Speichern des vorhergehenden Wertes eines Feldes in einem beliebigen unbenutzten Feld des Datensatztyps verwenden. Sie können dann den gespeicherten Feldwert für alle Vergleiche verwenden, die Sie in Workflow-Regeln mit Warteaktion benötigen.

    Wenn Sie die Workflow-Regel zum Speichern des vorhergehenden Wertes eines Feldes in einem unbenutzten Feld des Datensatztyps erstellen, sollten Sie in Betracht ziehen, dass der vorhergehende Wert des ursprünglichen Feldes leer sein kann (also ein Nullwert). Daher müssen Sie einen Ausdruck verwenden, der dem folgenden Ausdruck zum Speichern eines Standardwertes entspricht, sollte ein Nullwert vorhanden sein:

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

    In diesem Beispiel ist die Textzeichenfolge Invalid der Standardwert, der zum Ersetzen eines Nullwertes verwendet wird. Sie können jedoch jede beliebige Zeichenfolge verwenden, solange diese Zeichenfolge nicht als Wert im ursprünglichen Feld vorhanden ist.

Beispiel für die Erstellung einer Workflow-Regel, die eine E-Mail an den vorhergehenden Verantwortlichen für einen Firmendatensatz sendet

Im Folgenden finden Sie ein Beispiel, wie eine Workflow-Regel erstellt wird, die eine E-Mail an den vorhergehenden Verantwortlichen für einen Firmendatensatz sendet, wenn der sich der Verantwortliche für den Datensatz ändert.

So erstellen Sie eine Workflow-Regel, die eine E-Mail an den vorhergehenden Verantwortlichen für einen Firmendatensatz sendet

  1. Erstellen Sie eine Workflow-Regel für den Firmendatensatztyp mit dem Auslöseereignis "Vor geändertem Datensatz gesp.".
  2. Speichern Sie die Workflow-Regel.
  3. Erstellen Sie die Aktion "E-Mail hinzufügen" für die Workflow-Regel.
  4. Legen Sie für die Workflow-Aktion folgende Einstellungen fest:
    1. Wählen Sie im Feld "An" die Option "Spezifische E-Mail-Adresse".
    2. Fügen Sie im Textfeld des Ausdrucks für das Feld "An" den folgenden Ausdruck hinzu:

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

    3. Fügen Sie den entsprechenden Betreff und Text für die E-Mail hinzu.
    4. Speichern Sie die Workflow-Aktion.

Verwandte Themen

Weitere zugehörige Informationen zu Expression Builder finden Sie unter folgenden Themen:


Veröffentlicht September 2017 Copyright © 2005, 2017, Oracle. Alle Rechte vorbehalten. Legal Notices.