Imprimir      Abrir versão PDF da ajuda online


Tópico anterior

Tópico seguinte

JoinFieldValue

Um tipo de registo pode ser referenciado por outro tipo de registo através de uma chave externa. Um campo de junção é um campo num tipo de registo que utiliza uma chave externa para referenciar um campo noutro tipo de registo. Por exemplo, na maior parte dos tipos de registo, o campo OwnerId é uma chave externa que referencia o tipo de registo do Utilizador. O campo Proprietário em muitos registos é um campo de junção que utiliza a chave externa OwnerId para referenciar o campo Designação alternativa no tipo de registo do Utilizador.

A função JoinFieldValue no Expression Builder devolve o valor de um campo de junção quando os campos do tipo de registo referenciado e de chave externa são especificados na função. A função JoinFieldValue pode também recuperar outros campos no tipo de registo referenciado que não estão diretamente associados ao objeto referenciado, o que lhe permite procurar campos em tipos de registo de tipos de registo relacionados.

Se o campo ID de um tipo de registo referenciado estiver presente como uma chave externa no tipo de registo em que configura uma regra de fluxo de trabalho, pode utilizar a função JoinFieldValue para obter valores de campos a partir do tipo de registo referenciado.

Além disso, pode utilizar os seguintes campos de chave externa, que estão disponíveis em todos os tipos de registo, para obter valores de campos a partir do tipo de registo Utilizador:

  • CreatedById
  • ModifiedById

NOTA: A função JoinFieldValue não consegue devolver os valores dos seguintes campos no tipo de registo Atividade: Contagem de Transações de Desembolso, Contagem de Produtos Detalhados, Contagem de Itens Promocionais Entregues e Contagem de Amostras Entregues. Esta limitação deve-se à forma como o Oracle CRM On Demand calcula os valores destes campos.

Sintaxe

JoinFieldValue (ref_record_type, foreign_key, field_name)

Tipo de resultado

Cadeia.

Se um erro ocorre ou se o valor do campo solicitado estiver vazio, é devolvida uma cadeia de comprimento zero.

Argumentos

A tabela seguinte descreve os argumentos para a função.

Argumento

Descrição

ref_record_type

O nome independente da língua do tipo de registo referenciado. (Um nome independente da língua é um nome que não se altera quando a língua do utilizador é alterada.)

O argumento tem de ser incluído nos identificadores da cadeia do campo. Por exemplo:

'<Account>'

foreign_key

Um literal ou uma expressão que devolve um ID de linha válido no tipo de registo referenciado (especificado no argumento ref_record_type). Se o ID de linha for inválido, a função devolve uma cadeia de comprimento zero. As referências de campos diretas têm de estar entre identificadores de campo. Por exemplo:

[<AccountId>]

field_name

O nome independente da língua de um campo no tipo de registo referenciado (especificado pelo argumento ref_record_type). Se o campo não existir no tipo de registo referenciado será devolvido um erro. O nome do campo tem de estar entre identificadores da cadeia de campo. Por exemplo:

'<Type>'

NOTA: Os nomes de campos independentes da língua e a sintaxe do nome do campo utilizada em quaisquer expressões de exemplo neste tópico são os nomes de campos e a sintaxe do nome do campo que foram utilizados no Expression Builder em versões anteriores à Versão 29 do Service Pack 1. Estes exemplos ainda são válidos. No entanto, se selecionar os campos correspondentes para uma expressão a partir da lista de Campos no Expression Builder na Versão 29 do Service Pack 1 ou posterior, os nomes de campos e a sintaxe do nome do campo serão diferentes dos apresentados nos exemplos. É recomendado que selecione sempre os campos para as expressões da lista de Campos no Expression Builder, para que os nomes de campos e a sintaxe do nome do campo estejam sempre corretos. Para obter mais informações sobre os nomes de campos e a sintaxe do nome do campo nas expressões, consulte Acerca de Expressões.

Exemplos

Exemplo 1: Um processo comercial requer uma regra de fluxo de trabalho para procurar o nome do novo proprietário quando o proprietário de um registo é alterado. Quando o proprietário de um registo é alterado, apenas é atualizado o campo de chave externa OwnerId. Como consequência, a condição seguinte numa regra de fluxo de trabalho não procura o novo proprietário do registo:

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

Em alternativa, pode utilizar a condição seguinte no fluxo de trabalho para procurar o novo proprietário do registo:

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

Exemplo 2: Para obter o endereço de correio eletrónico do proprietário anterior de um registo, utilize a seguinte expressão:

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

Exemplo 3: Para obter o endereço de correio eletrónico do proprietário atual de um registo, utilize a seguinte expressão:

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

Exemplo 4: Um processo comercial requer que seja enviado um pedido de assistência por correio eletrónico para um contacto. Antes de a mensagem de correio eletrónico ser enviada, a regra de fluxo de trabalho verifica se o contacto aceitou receber mensagens de correio eletrónico. A regra de fluxo de trabalho (baseada no tipo de registo do pedido de assistência) tem a seguinte condição:

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

Exemplo 5: Para obter o território da conta principal para um pedido de assistência, utilize a seguinte expressão:

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

Tópicos relacionados

Consulte os tópicos seguintes para obter informações do Expression Builder relacionadas:


Publicado em Agosto 2018 Copyright © 2005, 2018, Oracle. Todos os direitos reservados. Legal Notices.