Integrazione con il flusso di lavoro

Il framework dell'interfaccia utente consente di avviare automaticamente un flusso di lavoro quando si salva l'MBO (business object) Maximo ® dell'applicazione.

Il seguente esempio Python avvia un workflow che crea un'assegnazione quando un nuovo ordine di lavoro viene creato utilizzando Maximo Integration Framework in entrata. A tale scopo, scrivere uno script della struttura oggetto che avvia il flusso di lavoro. Dall'applicazione Script di automazione, selezionare Crea > Script per l'integrazione. Nella finestra di dialogo Crea script per integrazione , selezionare Struttura oggetto. Immettere il nome della struttura oggetto nel campo Struttura oggetto, ad esempio MXWODETAIL. Selezionare Elaborazione in entrata.
from psdi.server import MXServer

def afterProcess(ctx):
  mbo = ctx.getPrimaryMbo()
  if mbo.isNew():
    MXServer.getMXServer().lookup("WORKFLOW").initiateWorkflow("WOSTATUS",mbo)

La variabile ctx è la stessa della variabile implicita globale service ma con funzioni aggiunte per l'elaborazione della struttura oggetto.

Un modo semplice per verificarlo è utilizzare la seguente API JSON REST.
POST http://host:port/maximo/oslc/os/mxwodetail?lean=1
{
“wonum”:”MYLABWO11”,
“siteid”:”BEDFORD”,
“description”:”Invoke workflow test”
}

Dopo aver POST questo JSON, richiama lo script e crea un'assegnazione per l'utente collegato. È possibile verificare tale assegnazione dal portlet Assegnazioni.

È possibile migliorare lo script per assicurarsi che questa inizializzazione del workflow venga eseguita solo per le transazioni che hanno lo stato di ATTAPPR. È possibile utilizzare ctx.getPrimaryMbo( ) per verificarlo.