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


Poprzedni temat

Następny temat

JoinFieldValue

Do typu rekordu inny rekord może się odwoływać za pośrednictwem klucza obcego. Pole złączenia jest to pole z typu rekordu stanowiące klucz obcy, używany w celu odwołania się do pola w innym typie rekordu. Na przykład w większości rekordów pole OwnerId jest kluczem obcym odwołującym się do typu rekordu "User" (użytkownik). Pole "Owner" (właściciel) w wielu typach rekordów jest polem złączenia korzystającym z obcego klucza OwnerId w celu odwołania się do pola "Alias" w typie rekordu "User".

Jeśli dla funkcji JoinFieldValue (z Expression Builder) zostanie określony typ rekordu z odwołaniem (czyli typ rekordu, do którego występuje odwołanie) oraz powiązane pola klucza obcego, to funkcja zwróci wartość pola złączenia. Funkcja JoinFieldValue może także wyszukać inne pola w typie rekordu z odwołaniem, które nie są bezpośrednio złączone z obiektem odwołującym się; dzięki temu z powiązanych typów rekordów można wyszukiwać pola z różnych typów rekordów.

Jeśli pole identyfikatora typu rekordu z odwołaniem jest obecne jako klucz obcy w typie rekordu, w którym użytkownik konfiguruje regułę procesu Workflow, można skorzystać z funkcji JoinFieldValue do pobrania wartości pól z typu rekordu z odwołaniem.

Można także skorzystać z poniższych pól klucza obcego, dostępnych we wszystkich typach rekordów, aby pobrać wartości pól z typu rekordu "Użytkownik":

  • CreatedById
  • ModifiedById

UWAGA: Funkcja JoinFieldValue nie może zwracać wartości następujących pól dla typu rekordu "Działanie": "Liczba transakcji wydatków", "Szczegółowa liczba produktów", "Liczba przekazanych pozycji promocyjnych" i "Liczba przekazanych próbek" Ograniczenie to wynika ze sposobu obliczania wartości tych pól w aplikacji Oracle CRM On Demand.

Składnia

JoinFieldValue (ref_record_type, foreign_key, field_name)

Typ wyniku

Ciąg znaków.

Jeśli wystąpi błąd albo wartość żądanego pola jest pusta, zostanie zwrócony napis o zerowej długości.

Argumenty

Argumenty funkcji są przedstawione w poniższej tabeli.

Argument

Opis

ref_record_type

Niezależna od języka nazwa typu rekordu, do którego występuje odwołanie. (Nazwa niezależna od języka to nazwa, która nie ulega zmianie, gdy zmienia się język użytkownika.)

Argument musi być ujęty w identyfikatory napisu pola. Przykład:

'<Account>'

foreign_key

Literał lub wyrażenie zwracające poprawny identyfikator wiersza w typie rekordu, do którego występuje odwołanie (określane przez argument ref_record_type). Jeśli identyfikator wiersza będzie niepoprawny, funkcja zwróci napis o zerowej długości. Bezpośrednie odwołania do pól muszą być ujęte w identyfikatory pól. Przykład:

[<AccountId>]

field_name

Niezależna od języka nazwa pola w typie rekordu, do którego występuje odwołanie (określane przez argument ref_record_type). Jeśli podane pole nie istnieje w typie rekordu, do którego występuje odwołanie, to zostanie zwrócony błąd. Nazwa pola musi być ujęta w identyfikatory napisu pola. Przykład:

'<Type>'

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.

Przykłady

Przykład 1: Proces biznesowy wymaga reguły procesu Workflow wyszukującej nazwę nowego właściciela, gdy zostanie zmieniony właściciel rekord. Przy zmianie właściciela rekordu, w rekordzie jest aktualizowane tylko pole klucza obcego OwnerId. W rezultacie następujący warunek z reguły procesu Workflow nie wyszuka nowego właściciela rekordu:

PRE('<Owner>') <> [<Owner>]

Zamiast niego można użyć następującego warunku w procesie Workflow, umożliwiającego wyszukanie nowego właściciela rekordu:

PRE('<Owner>') <> JoinFieldValue('<User>',[<OwnerId>],'<Alias>')

Przykład 2: Adres e-mail poprzedniego właściciela rekordu można uzyskać za pomocą następującego wyrażenia:

JoinFieldValue('<User>',PRE('<OwnerId>'),'<EMailAddr>')

Przykład 3: Adres e-mail obecnego właściciela rekordu można uzyskać za pomocą następującego wyrażenia:

JoinFieldValue('<User>',[<OwnerId>],'<EMailAddr>')

Przykład 4: Proces biznesowy wymaga wysłania, do osoby kontaktowej, wiadomości e-mail ze zleceniem SR. Zanim wiadomość zostanie wysłana, reguła procesu Workflow sprawdza, czy osoba kontaktowa wyraziła zgodę na otrzymywanie wiadomości e-mail. Reguła procesu Workflow (oparta na typie rekordu "Service Request") zawiera następujący warunek:

JoinFieldValue('<Contact>',[<ContactId>],'<NeverEmail>')<> 'Y'

Przykład 5: Terytorium głównego podmiotu zlecenia SR można uzyskać za pomocą następującego wyrażenia:

JoinFieldValue('<Territory>', JoinFieldValue('<Account>', [<AccountId>], '<TerritoryId>'),'<TerritoryName>')

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.