Stampa      Aprire la Guida in linea in versione PDF


Argomento precedente

Argomento successivo

PRE

La funzione PRE nel Expression Builder restituisce il valore precedente del campo specificato quando il valore del campo viene modificato e prima dell'aggiornamento del valore nel database.

ATTENZIONE: si consiglia di non utilizzare la funzione PRE con le regole di workflow contenenti un'azione Attendi, in quanto l'azione Attendi ha effetto sulla funzione PRE. Qualsiasi azione successiva all'azione Attendi non viene eseguita prima della scadenza del periodo di attesa specificato. Le azioni rimanenti vengono eseguite in un'operazione batch diversa da quella in cui la regola è stata generata in origine e i valori dei campi del record precedenti all'azione che ha generato la regola del workflow non vengono conservati. Pertanto, il valore precedente e quello corrente del campo vengono considerati sempre uguali.

Sintassi

PRE('<nome campo>')

Tipo di risultato

Stringa

Argomenti

Nella tabella seguente vengono descritti gli argomenti per questa funzione.

Argomento

Descrizione

nome campo

Il nome del campo modificato.

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.

Quando si utilizza la funzione PRE, tenere presenti le considerazioni riportate di seguito.

  • Nelle espressioni condizionali, quali ad esempio le condizioni e le istruzioni di convalida del workflow, quando si usa la funzione PRE per recuperare il valore precedente di un campo, ricordare che il valore iniziale del campo può essere vuoto (ovvero essere un valore nullo). Se il valore iniziale è nullo, qualsiasi confronto con un valore non nullo può restituire risultati imprevedibili. Per garantire che le espressioni condizionali vengano valutate in modo corretto in casi del genere, usare la funzione PRE con la funzione IfNull come mostrato nell'esempio seguente:

    IfNull([<NomeCampo>], "Non valido") <> IfNull(PRE('<NomeCampo>'), "Non valido")

    In questo esempio, per sostituire il valore nullo viene usata la stringa di testo Non valido, ma è possibile usare una stringa qualsiasi a condizione che non esista come valore nel campo esaminato.

  • Se viene usata in una regola o in un'azione del workflow richiamata dopo un'azione Attendi, la funzione PRE non restituisce il valore precedente di un campo. È tuttavia possibile che esista un processo aziendale che richieda questo tipo di confronto. In casi del genere è possibile usare una regola del workflow con l'evento trigger Prima del salvataggio record modificato per memorizzare il valore precedente di un campo in un campo inutilizzato qualsiasi del tipo di record. Il valore memorizzato potrà essere quindi usato per qualsiasi confronto richiesto nelle regole del workflow che prevedono l'azione Attendi.

    Quando si crea la regola del workflow per memorizzare il valore precedente di un campo in un campo inutilizzato del tipo di record, ricordare che il valore precedente del campo originale potrebbe essere vuoto (ovvero essere un valore nullo). Per questo motivo, per memorizzare un valore predefinito nel caso venga rilevato un valore vuoto, è necessario usare un'espressione come quella seguente:

    IfNull([<FieldName>], "Non valido")

    In questo esempio, la stringa di testo Non valido è il valore predefinito usato per sostituire un valore nullo, ma è possibile usare una stringa qualsiasi a condizione che non esista come valore nel campo originale.

Esempio di creazione di una regola del workflow che invia una e-mail al proprietario precedente di un record cliente

Di seguito viene riportato un esempio di creazione di una regola del workflow che invia una e-mail al proprietario precedente di un record cliente quando il proprietario del record cambia.

Per creare una regola del workflow che invia una e-mail al proprietario precedente di un record cliente

  1. Creare una regola del workflow per il tipo di record Cliente con l'evento trigger Al salvataggio record modificato.
  2. Salvare la regola del workflow.
  3. Creare un'azione Aggiungi e-mail nella regola del workflow.
  4. Nell'azione del workflow, effettuare le operazioni riportate di seguito.
    1. Nel campo A, selezionare Indirizzo e-mail specifico.
    2. Nella casella di testo di espressione del campo A, immettere l'espressione seguente:

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

    3. Aggiungere il testo necessario nell'oggetto e nel corpo dell'e-mail.
    4. Salvare l'azione del workflow.

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.