Drukuj      Otwórz Pomoc bezpośrednią w wersji PDF


Poprzedni temat

Następny temat

PRE

Funkcja PRE (dostępna w narzędziu Expression Builder) zwraca poprzednią wartość podanego pola, jeśli to pole zostało zmodyfikowane, lecz wartość jeszcze nie została zaktualizowana w bazie danych.

UWAGA: Nie zaleca się używania funkcji PRE z regułami procesu Workflow zawierającymi czynność oczekiwania, ponieważ wpływa ona na sposób działania funkcji PRE. Wykonywanie kolejnych czynności występujących po czynności oczekiwania jest wstrzymywane do zakończenia okresu oczekiwania. Pozostałe czynności są wykonywane w innej operacji wsadowej niż w momencie wyzwolenia reguły, w związku z czym wartości, jakie miały pola rekordu przed czynnością wyzwalającą regułę procesu Workflow, nie są zachowywane. Poprzednie i bieżące wartości pól są więc zawsze uznawane za identyczne.

Składnia

PRE('<fieldname>')

Typ wyniku

Ciąg znaków

Argumenty

Argumenty funkcji są przedstawione w poniższej tabeli.

Argument

Opis

fieldname

Nazwa pola, które zostało zmodyfikowane.

UWAGA: Nazwy pól niezależnych od języka oraz składnia nazw pól używana we wszystkich przykładowych wyrażeniach w tym temacie to nazwy pól i składnia nazw pól, które były używane w aplikacji Expression Builder w wydaniach wcześniejszych niż Wydanie 29 z dodatkiem Service Pack 1. Przykłady te są nadal prawidłowe. Jeśli jednak zostaną wybrane odpowiednie pola dla wyrażenia z listy "Pola" w aplikacji Expression Builder w wydaniu 29 z dodatkiem Service Pack 1 lub nowszym, nazwy pól i składnia nazw pól będą odmienne od tych, które są dostępne w przykładach. Zaleca się, aby zawsze wybierać pola dla wyrażeń z listy "Pola" w aplikacji Expression Builder w taki sposób, aby nazwy pól i składnia nazw pól były zawsze poprawne. Więcej informacji o nazwach pól i składni nazw pól w wyrażeniach znajduje się pod hasłem Wyrażenia - informacje.

Użycie funkcji PRE podlega następującym zasadom:

  • W wyrażeniach warunkowych, takich jak warunki procesu Workflow czy instrukcje zatwierdzania, używając funkcji PRE do zwracania poprzedniej wartości z pola, należy pamiętać, że początkową wartością pola może być "Null" (puste pole). W takim przypadku wszelkie porównanie z wartością inną niż "Null" doprowadzi do nieprzewidywalnego działania. Aby zapewnić prawidłową ocenę wyrażeń warunkowych w takich wypadkach, należy użyć funkcji PRE razem z funkcją IfNull, jak to zostało pokazane w tym przykładzie:

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

    W tym przykładzie wyrażenie Invalid służy do zastąpienia wartości "Null". Użytkownik może w tym celu użyć dowolnego wyrażenia, pod warunkiem, że wyrażenie to nie istnieje jako wartość w sprawdzanym polu.

  • Jeśli funkcja PRE zostanie użyta w regule procesu Workflow lub w działaniu wywoływanym po działaniu "Czekaj", nie zwraca wtedy poprzedniej wartości pola. Mogą jednak istnieć procesy biznesowe wymagające takich porównań. Należy wtedy użyć reguły procesu Workflow ze zdarzeniem wyzwalającym "Przed zapisaniem zmod. rekordu" w celu zapisania poprzedniej wartości pola typu rekordu. Następnie, zapisaną wartość można wykorzystać do wymaganych porównań w regułach procesu Workflow, zawierających działanie "Czekaj".

    Podczas tworzenia reguły procesu Workflow zapisującej poprzednią wartość pola w nieużytym polu typu rekordu należy pamiętać, że wcześniejszą wartością pierwotnego pola mogło być "Null" (puste pole). Z tego powodu konieczne jest użycie wyrażenia, takiego jak przedstawione poniżej, w celu zapisania domyślnej wartości w przypadku wystąpienia wartości "Null":

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

    W tym przykładzie wyrażenie Invalid jest wartością domyślną, która służy do zastąpienia wartości "Null". Użytkownik może w tym celu użyć dowolnego wyrażenia, pod warunkiem, że wyrażenie to nie istnieje jako wartość w sprawdzanym polu.

Przykład tworzenia reguły procesu Workflow wysyłającej wiadomość e-mail do poprzedniego właściciela rekordu podmiotu

Poniższy przykład przedstawia sposób utworzenia reguły procesu Workflow, wysyłającej wiadomość e-mail do poprzedniego właściciela rekordu podmiotu w przypadku zmiany właściciela rekordu.

Jak utworzyć regułę procesu Workflow wysyłającą wiadomość e-mail do poprzedniego właściciela rekordu podmiotu

  1. Utworzyć regułę procesu Workflow dla typu rekordu "Podmiot" ze zdarzeniem wyzwalającym "Podczas zap. zmodyf. rekordu".
  2. Zapisać regułę procesu Workflow.
  3. W regule procesu Workflow utworzyć działanie "Dodaj wiadomość e-mail".
  4. W czynności procesu Workflow wykonać co następuje:
    1. W polu "Do" wybrać opcję "Konkretny adres e-mail".
    2. W polu tekstowym wyrażenia "Do" dodać następujące wyrażenie:

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

    3. Dodać żądany tekst w temacie i treści wiadomości e-mail.
    4. Zapisać czynność procesu Workflow.

Tematy pokrewne

Pokrewne informacje dotyczące narzędzia Expression Builder są zawarte w następujących tematach:


Opublikowano: Wrzesień 2017 Copyright © 2005, 2017, Oracle. Wszelkie prawa zastrzeżone. Legal Notices.