Stampa      Aprire la Guida in linea in versione PDF


Argomento precedente

Argomento successivo

JoinFieldValue

È possibile che un tipo di record faccia riferimento a un altro tipo di record mediante una chiave esterna. Un campo unito è un campo di un tipo di record che utilizza una chiave esterna per fare riferimento a un campo di un altro tipo di record. Ad esempio, per la maggior parte dei tipi di record, il campo OwnerId è una chiave esterna che fa riferimento al tipo di record Utente. Il campo Proprietario in molti record è un campo unito che utilizza la chiave esterna OwnerId per fare riferimento al campo Alias del tipo di record Utente.

La funzione JoinFieldValue in Expression Builder restituisce il valore di un campo unito quando il tipo di record cui viene fatto riferimento e i relativi campi di chiavi esterne vengono specificati nella funzione. La funzione JoinFieldValue consente anche di recuperare altri campi del tipo di record cui viene fatto riferimento che non sono uniti direttamente all'oggetto di riferimento, il che consente di cercare campi di diversi tipi di record dai tipi di record correlati.

Se il campo ID di un tipo di record al quale viene fatto riferimento è presente come chiave esterna nel tipo di record in cui si configura una regola del workflow, è possibile utilizzare la funzione JoinFieldValue per recuperare i valori dei campi dal tipo di record al quale viene fatto riferimento.

È inoltre possibile usare i campi di chiave esterna seguenti, disponibili in tutti i tipi di record, per recuperare i valori dei campi dal tipo di record Utente:

  • CreatedById
  • ModifiedById

NOTA: la funzione JoinFieldValue non può restituire i valori dei seguenti campi nel tipo di record Attività: Conteggio transazione esborso, Conteggio prodotti in dettaglio, Conteggio articoli in promozione lasciati e Conteggio campioni lasciati. Questa limitazione è causata dalla modalità utilizzata da Oracle CRM On Demand per calcolare i valori di questi campi.

Sintassi

JoinFieldValue (tipo_record_rif, chiave_esterna, nome_campo)

Tipo di risultato

Stringa.

Se si verifica un errore o il valore del campo richiesto è vuoto, viene restituita una stringa di lunghezza pari a zero.

Argomenti

Nella tabella seguente vengono descritti gli argomenti per questa funzione.

Argomento

Descrizione

ref_record_type

Il nome del tipo di record cui viene fatto riferimento indipendente dalla lingua. (un nome indipendente dalla lingua non viene modificato quando cambia la lingua dell'utente).

L'argomento deve essere contenuto negli identificatori di stringa dei campi. Ad esempio:

'<Account>'

foreign_key

Valore letterale o espressione che restituisce un ID riga valido nel tipo di record cui viene fatto riferimento (specificato nell'argomento tipo_record_rif). Se l'ID riga non è valido, la funzione restituisce una stinga di lunghezza pari a zero. I riferimenti diretti ai campi devono essere contenuti negli identificatori di campo. Ad esempio:

[<AccountId>]

field_name

Nome indipendente dalla lingua di un campo del tipo di record cui viene fatto riferimento (specificato nell'argomento tipo_record_rif). Se il campo non esiste nel tipo di record cui viene fatto riferimento, viene restituito un errore. Il nome del campo deve essere contenuto negli identificatori di stringa del campo. Ad esempio:

'<Type>'

NOTA: i nomi dei campi indipendenti dalla lingua e la sintassi FieldName utilizzati nelle espressioni di esempio del presente argomento sono i nomi dei campi e la sintassi FieldName utilizzati in Expression Builder nelle release precedenti alla Release 29 Service Pack 1. Questi esempi sono ancora validi. Se tuttavia si selezionano i campi corrispondenti per un'espressione dall'elenco Campi in Expression Builder nella Release 29 Service Pack 1 o in una release successiva, i nomi dei campi e la sintassi FieldName saranno diversi da quelli mostrati negli esempi. Si consiglia pertanto di selezionare sempre i campi per le espressioni dall'elenco Campi in Expression Builder, in modo che i nomi dei campi e la sintassi FieldName siano sempre corretti. Per ulteriori informazioni sui nomi dei campi e sulla sintassi FieldName nelle espressioni, vedere Informazioni sulle espressioni.

Esempi

Esempio 1: un processo aziendale richiede una regola del flusso di lavoro per la ricerca del nome del nuovo proprietario quando il proprietario di un record cambia. Quando il proprietario di un record cambia, viene aggiornato solo il campo della chiave esterna OwnerId del record. Di conseguenza, la condizione seguente in una regola del flusso di lavoro non esegue la ricerca del nuovo proprietario del record:

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

È invece possibile utilizzare la condizione seguente nel workflow per eseguire la ricerca del nuovo proprietario del record:

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

Esempio 2: per ottenere l'indirizzo e-mail del proprietario precedente di un record, utilizzare l'espressione seguente:

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

Esempio 3: per ottenere l'indirizzo e-mail del proprietario corrente di un record, utilizzare l'espressione seguente:

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

Esempio 4: un processo aziendale richiede che una e-mail di richiesta di servizio venga inviata a un contatto. Prima dell'invio dell'e-mail, la regola del flusso di lavoro controlla che il contatto abbia accettato di ricevere e-mail. La regola del flusso di lavoro (in base al tipo di record della richiesta di servizio) presenta la condizione seguente:

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

Esempio 5: per ottenere il territorio del cliente principale per una richiesta di servizio, utilizzare l'espressione seguente:

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

Argomenti correlati

Gli argomenti riportati di seguito contengono informazioni relative al Expression Builder.


Data di pubblicazione : settembre 2017 Copyright © 2005, 2017, Oracle. Tutti i diritti riservati. Legal Notices.