Punto di avvio azione
Il framework delle azioni di Maximo dispone di una libreria integrata di azioni che possono essere eseguite da flussi di lavoro, escalation, menu dell'interfaccia utente, pulsanti e molti altri componenti. Tuttavia, potrebbero essere necessarie azioni che non sono incluse in questa libreria. Lo script risolve questo problema poiché è possibile eseguire lo script di un'azione utilizzando Jython e JavaScript.
Ad esempio, è possibile utilizzare un'azione con script per eseguire alcuni contatori calcolati per gli asset. Per creare uno script con un punto di avvio dell'azione, dall'applicazione Script di automazione selezionare .
Si supponga di voler calcolare un valore contatore asset in base ad altri contatori associati a tale asset. Ad esempio, si desidera calcolare il valore del contatore PRESSURE, basato sul contatore IN-PRESSUR e O-PRESSUR in modo che l'ultima lettura del contatore PRESSURE sia la somma delle letture dei contatori IN e O-PRESSUR. Si supponga di scegliere di eseguire l'operazione non in linea rispetto a quella in tempo reale, per cui è necessario utilizzare i punti di avvio dell'oggetto per eseguire il trap degli eventi di modifica del contatore. Un modo per eseguire ripetutamente azioni non in linea in IBM® Maximo® Manage è utilizzare le escalation, che sono lavori cron che eseguono un'azione predefinita nel contesto di un MBO (Maximo business object). Invece di scrivere il codice Java dell'azione, è possibile utilizzare uno script.
assetnum=:assetnum and siteid=:siteid and metername='IN-PRESSUR'| Nome relazione | Relazione dove |
|---|---|
| misuratore di asset | assetnum= :assetnum and siteid= :siteid e metername = 'O-PRESSUR' |
| misuratore di asset | assetnum= :assetnum e siteid= :siteid e metername = 'PRESSURE' |
Nell'applicazione Script di automazione, fare clic su . Definire il punto di avvio dell'azione.
Sebbene questa attività crei l'azione, è necessario allegare tale azione all'escalation, al workflow o al pulsante o menu dell'interfaccia utente. Per impostazione predefinita, il nome del punto di avvio viene utilizzato come nome dell'azione, ma è possibile modificare il valore in modo da adattarlo alla convenzione di denominazione. Tuttavia, è meglio evitare di rinominarlo a causa della confusione dei nomi e dei conflitti in seguito. Nel primo passo dell'attività è stato rilevato che il nome oggetto è facoltativo, in linea con il framework di azioni Maximo in cui un'azione può essere associata o meno a un oggetto Maximo. In questo caso, tuttavia, si desidera specificare l'oggetto come asset poiché l'azione è specifica per l'MBO asset.
| Nome variabile | Tipo di variabile | Collegamento |
|---|---|---|
| iplr | IN | assetmeterip.lastreading |
| olr | IN | assetmeterop.lastreading |
| plr | IN | assetmeterp.lastreading |
| pnr | OUT | assetmeterp.newreading |
L'iplr, o l'ultima lettura del contatore IN-PRESSUR, olr, o l'ultima lettura del contatore O - PRESSUR, e plr, o l'ultima lettura del contatore PRESSURE, sono tutti di tipo IN in quanto sono necessari tali valori per calcolare il pnr, l'ultima lettura del contatore PRESSURE. Il pnr è di tipo OUT come si imposta di nuovo al contatore di pressione MBO.
y=float(iplr)+float(olr)
if y!=float(plr):
pnr=str(y)Il check-in di if nella seconda riga si occupa di non aggiornare il valore pnr se il valore calcolato è lo stesso di plr [ ultima lettura del contatore PRESSURE]. Questo calcolo è stato implementato come esempio. Nelle implementazioni reali può essere qualsiasi calcolo matematico complicato in base alle proprie esigenze di business, limitato solo dal supporto matematico fornito dal linguaggio di script di propria scelta.
exists (select assetnum from assetmeter where metername='IN-PRESSUR' and
assetnum=asset.assetnum and siteid=asset.siteid) and exists (select assetnum from assetmeter
where metername='O-PRESSUR' and assetnum=asset.assetnum and siteid=asset.siteid) and
exists (select assetnum from assetmeter where metername='PRESSURE' and
assetnum=asset.assetnum and siteid=asset.siteid)Selezionare l'azione per questa escalation. Il nome dell'azione è lo stesso del punto di avvio a meno che non sia stato modificato. Dopo aver attivato l'escalation, il lavoro è completo. L'escalation esegue l'azione con script per tutti gli asset con i tre contatori e le letture dei contatori degli asset modificati vengono salvate e sottoposte a commit dal framework di escalation.
Se si è scelto di non collegare l'azione ad un oggetto Maximo, la fase in cui si specificano le variabili e i collegamenti non consentirà di collegare una variabile ad un attributo MBO. Tuttavia, è possibile utilizzare i tipi di bind della variabile letterale, della proprietà di sistema e maxvar. Un caso di utilizzo potrebbe verificarsi quando si scrive un'azione generica che, ad esempio, richiama un servizio, come un servizio Web, che non è specifico di un MBO o si intende eseguire il codice script in base all'utilizzo diretto delle API MBO e, quindi, non avrà bisogno dei bind degli attributi MBO.