Imprimir      Abrir a versão em PDF da Ajuda on-line


Tópico anterior

Próximo tópico

PRE

A função PRE do Expression Builder retorna os valores anteriores do campo especificado quando o valor do campo for modificado, mas antes que o valor seja atualizado no banco de dados.

CUIDADO: Recomendamos que você não use a função PRE com as regras de workflow que contêm uma ação de Espera, porque essa ação afeta a função PRE. Todas as ações após a ação de Espera não são executadas até que o período de espera tenha expirado. As ações remanescentes são executadas em uma operação de lote diferente da operação na qual a regra foi acionada originalmente e os valores dos campos do registro anterior à ação que acionou a regra de workflow não são preservados. No entanto, o valor anterior e o valor atual do campo são sempre vistos como iguais

Sintaxe

PRE('<fieldname>')

Tipo de resultado

String

Argumentos

A tabela a seguir descreve os argumentos da função.

Argumento

Descrição

Fieldname

O nome do campo que foi modificado.

OBSERVAÇÃO: os nomes de campos independentes de idioma e a sintaxe de nome de campo usada em qualquer expressão de exemplo neste tópico são os nomes de campo e a sintaxe do nome de campo que foram usados no Expression Builder nas versões anteriores à Versão 29 do Service Pack 1. Esses exemplos ainda são válidos. No entanto, se você selecionar os campos correspondentes de uma expressão na lista de Campos no Expression Builder na Versão 29 do Service Pack 1 ou posterior, os nome de campos e a sintaxe dos nomes de campos serão diferentes daquelas mostradas nos exemplos. É recomendado que você sempre selecione os campos das suas expressões na lista de Campos no Expression Builder para que os nomes de campos e a sintaxe dos nomes de campos estejam sempre corretas. Para obter mais informações sobre os nomes de campos e a sintaxe nos nomes de campos nas expressões, consulte Sobre expressões.

As seguintes considerações se aplicam ao usar a função PRE:

  • Em expressões condicionais, como condições de workflow e instruções de validação, ao usar a função PRE para recuperar o valor anterior de um campo, lembre-se de que o valor inicial do campo pode estar em branco (ou seja, um valor nulo). Se o valor inicial for nulo, qualquer comparação com um valor não nulo resultará em um comportamento imprevisível. Para garantir que as expressões condicionais sejam avaliadas corretamente nesses casos, use a função PRE com a função IfNull conforme mostrado neste exemplo:

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

    Neste exemplo, a string de texto Invalid é usada para substituir o valor nulo, mas você pode usar qualquer string que quiser, desde que ela não exista como um valor no campo examinado.

  • Se a função PRE for usada em uma regra de fluxo de trabalho ou em uma ação invocada depois de uma Ação de espera, a função não retornará o valor anterior de um campo. Porém, você pode ter um processo comercial que exija essas comparações. Nesses casos, é possível usar uma regra de fluxo de trabalho com o evento de acionamento Antes do registro modificado salvo para armazenar o valor anterior de um campo em qualquer campo não usado no tipo de registro. Assim, você pode usar o valor do campo armazenado em qualquer comparação necessária em regras de fluxo de trabalho que tenham a Ação de espera.

    Ao criar a regra de fluxo de trabalho para armazenar o valor anterior de um campo em um campo não usado no tipo de registro, lembre-se de que o valor anterior do campo original pode estar em branco (ou seja, um valor nulo). Por isso, você deve usar uma expressão como a seguinte para armazenar um valor padrão, caso um valor nulo seja encontrado:

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

    Neste exemplo, a string de texto Invalid é o valor padrão usado para substituir um valor nulo, mas você pode usar qualquer string que quiser, desde que ela não exista como um valor no campo original.

Exemplo de como criar uma regra de fluxo de trabalho que envie um e-mail para o proprietário anterior de um registro de conta

Este é um exemplo de como criar uma regra de fluxo de trabalho que envie um e-mail para o proprietário anterior de um registro de conta quando o proprietário do registro muda.

Para criar uma regra de fluxo de trabalho que envie um e-mail para o proprietário anterior de um registro de conta

  1. Crie uma regra de fluxo de trabalho para o tipo de registro de conta com o evento de acionamento Quando o registro modificado foi salvo.
  2. Salve a regra de workflow.
  3. Crie uma ação Adicionar um e-mail na regra de fluxo de trabalho.
  4. Na ação de fluxo de trabalho, faça o seguinte:
    1. No campo Para, selecione Endereço de e-mail específico.
    2. Na caixa de texto da expressão do campo Para, adicione a seguinte expressão:

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

    3. Adicione o texto necessário no assunto e no corpo do e-mail.
    4. Salve a ação do workflow.

Tópicos relacionados

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


Publicado em Otubro de 2016 Copyright © 2005, 2016, Oracle. Todos os direitos reservados. Legal Notices.