Script con punto di avvio oggetto

Un punto di avvio oggetto associa uno script a un oggetto di business ed esegue in risposta a un evento oggetto di business. Gli eventi sono associati ad un contesto specifico in modo che lo script venga eseguito prima o dopo il salvataggio dell'oggetto o dopo il commit nel database. È possibile, facoltativamente, associare un evento a una condizione e limitare l'esecuzione alle circostanze in cui la condizione è soddisfatta.

Un punto di avvio dell'oggetto può essere basato su qualsiasi oggetto nel database ed è necessario associarlo ad almeno uno dei seguenti eventi:

Inizializza valore
Indica se lo script viene eseguito dall'evento di inizializzazione.
Convalida applicazione
Indica se lo script viene eseguito dall'evento di convalida.
Consenti creazione oggetto
Indica se è possibile creare nuovi MBO ( Maximo ® business object). Ad esempio, la propria logica aziendale può indicare che quando un ordine di acquisto viene approvato, non è possibile creare nuovi oggetti POLINE. È possibile definire un solo punto di avvio per l'MBO selezionato e l'evento Consenti creazione oggetto.
Consenti eliminazione oggetto
Indica se gli MBO possono essere eliminati. Ad esempio, la logica aziendale può indicare che quando un ordine di lavoro viene approvato, gli oggetti WOLINE non possono essere eliminati. Solo un punto di avvio può essere definito per l'MBO selezionato e l'evento Consenti eliminazione oggetto.
Salva
Indica se lo script viene eseguito dall'evento di salvataggio. Se si seleziona il pulsante di opzione Salva , è necessario specificare il contesto per il salvataggio nella sezione Salva.
L'evento di salvataggio può essere eseguito in uno dei seguenti contesti:
Prima del salvataggio
Lo script viene eseguito e imposta i valori sull'oggetto di business prima del salvataggio della transazione sottostante. Ad esempio, è possibile applicare una regola di business che controlla se è stata seguita una convenzione di denominazione specifica quando un nuovo record viene salvato. Se la regola della convenzione di denominazione non è stata rispettata, l'attività di salvataggio non è consentita e l'utente riceve un messaggio di errore.
Dopo il salvataggio
Lo script viene eseguito dopo il salvataggio dell'oggetto di business, ma prima del commit delle modifiche. Questo contesto evento consente di incorporare una regola di business e di eseguire il rollback dell'elaborazione su una transazione, se necessario. Ad esempio, in uno scenario di integrazione, se un aggiornamento di una transazione a un sistema esterno non riesce a causa di un problema di connessione, è possibile eseguire il rollback della transazione iniziale in modo che entrambi i database rimangano sincronizzati.
Dopo il commit
Lo script viene eseguito dopo che è stato eseguito il commit di una transazione nel database e non può essere eseguito il rollback. Questo contesto evento viene generalmente utilizzato per avviare ulteriori azioni immediatamente dopo il commit di un particolare oggetto di business. Ad esempio, uno script avvia l'invio di notifiche email quando un ordine di lavoro viene completato o invia un messaggio di integrazione per notificare un sistema esterno quando viene creato un ordine di acquisto.

Nel campo Condizione evento oggetto , è possibile limitare l'attivazione dello script specificando una condizione correlata all'evento. Ad esempio, per reindirizzarlo a un nuovo modulo quando un utente tenta di aggiungere una persona la cui lingua non è l'inglese. In questo scenario, se l'attributo langcode per la persona è impostato su Inglese, lo script non viene attivato.

Esempio di punto di avvio di un oggetto

Quando viene creato un record asset, il numero asset deve rispettare una convenzione di denominazione. Il numero asset deve essere preceduto dal tipo di asset che l'utente sta creando. Ad esempio, un asset Facilities deve avere un prefisso FT. Se il prefisso appropriato non è specificato, mostrare un messaggio di errore per indicare che il prefisso non è valido.
Per implementare il requisito, effettuare quanto segue:
  1. Definire un punto di avvio oggetto sull'oggetto di business ASSET.
  2. Definire lo script che associa il prefisso e associare lo script al punto di avvio dell'oggetto:
    def setError(prefix):
        global errorkey,errorgroup,params
        errorkey='invalidassetprefix'
        errorgroup='asset'
        params=[prefix,assettype]
    
    if assettype_internal=='FACILITIES' and not assetnum.startswith('FT'):
        setError('FT')
    elif assettype_internal=='FLEET' and not assetnum.startswith('FL'):
        setError('FL')
    elif assettype_internal=='IT' and not assetnum.startswith('IT'):
        setError('IT')
    elif assettype_internal=='PRODUCTION' and not assetnum.startswith('PR'):
        setError('PR')
  3. Verificare il punto di avvio e lo script dell'oggetto e attivare o disattivare il punto di avvio come richiesto.