Funzioni formula
Le formule forniscono una libreria di espressioni per calcolare i valori numerici dagli MBO (Business Object) Maximo. Il framework fornisce molte funzioni standard. Il framework di script fornisce un modo per creare funzioni personalizzate per estendere la libreria di funzioni integrate. Il seguente esempio mostra i passaggi di configurazione per aggiungere la funzione di deviazione standard utilizzando lo script.
Scrivere il codice script della formula. Il seguente esempio utilizza Python. Questo script utilizza la libreria matematica Apache per calcolare la deviazione standard.
from org.apache.commons.math3.stat.descriptive import DescriptiveStatistics
from java.lang import Math
relation = ctx.getExpression().getCalculatedValue(params[0])
attr = ctx.getExpression().getCalculatedValue(params[1])
dstats = DescriptiveStatistics()
workOrders = mbo.getMboSet(relation)
wo = workOrders.moveFirst()
while wo is not None:
cost = wo.getDouble(attr)
dstats.addValue(cost)
wo = workOrders.moveNext()
std = dstats.getStandardDeviation()
service.log(str(std))
evalresult = stdIl seguente elenco di variabili implicite è supportato da questo punto script.
| Variabile | Finalità |
|---|---|
| Exp | Un'istanza di com.ibm.tivoli.maximo.expression.Expression che è un handle per l'istanza dell'espressione della formula analizzata. |
| CTX | Un'istanza della funzione com.ibm.tivoli.maximo.expression.ScriptFunction . |
| MBO | L'MBO nel contesto per la formula. |
| Parametri | I parametri di input. |
Nell'applicazione Configurazione database, aggiungere una nuova funzione formula con il tipo di implementazione script e il nome della classe o dello script come nome dello script in maiuscolo.
Aggiungere o modificare la formula per un oggetto o attributo. La formula per questo esempio si trova nell'oggetto Asset.
Un modo per verificare questa formula è quello di effettuare la seguente chiamata API REST:
GET /oslc/os/mxapiasset?lean=1&oslc.select=assetnum,siteid,exp.assetwocoststd&oslc.where=assetnum="11430"dove exp.assetwocoststd è il nome della formula.