Maximo

Maximo

Come for answers, stay for best practices. All we're missing is you.

 View Only
  • 1.  Formulas: Complete list of functions and aggregates?

    Posted Sat September 18, 2021 12:04 AM
    Edited by System Admin Wed March 22, 2023 11:52 AM
    MAM 7.6.1.2:

    The list of formula functions in the docs seems to be incomplete. For example, the NULLVALUE( ) and SUMF( ) functions are missing: Operators and functions in database configuration formulas
    Additionally, a listing of aggregate notation (i.e. SUM$) also seems to be missing from the docs.

    Where can I find a complete list of formula functions and aggregates?




    Related RFE:
    Enhance Formulas Documentation
    https://ibm-ai-apps.ideas.ibm.com/ideas/CONFIG-I-8


    #Maximo
    #AssetandFacilitiesManagement


  • 2.  RE: Formulas: Complete list of functions and aggregates?

    Posted Sat September 18, 2021 12:12 AM
    Edited by System Admin Wed March 22, 2023 11:47 AM
      |   view attached

    Here is a list of functions (attached).
    It's the EXPFUNCTIONS table from Maximo. That table is also available in the Database Configuration --> Add/Modify Formula Functions window.
    Screenshot: https://i.stack.imgur.com/eIJF5.png



    It's unclear to me if all those functions actually work with Maximo formulas or not.
    Maybe some of them are meant for the MBR language, not formulas.
    For example, there is a function called FOREACHMBO( ) that is in both the formulas list (EXPFUNCTIONS) —and— the Maximo Business Rules Scripting document [.doc file download].
    So it seems like FOREACHMBO( ) might be meant for MBR, not for formulas, since I don't know how you would use a function like that in formulas.





    #Maximo
    #AssetandFacilitiesManagement

    Attachment(s)



  • 3.  RE: Formulas: Complete list of functions and aggregates?

    Posted Sat September 18, 2021 12:16 AM
    Edited by System Admin Wed March 22, 2023 11:46 AM

    Here is a list of aggregates:
    • max
    • min
    • avg
    • sum
    • count
    Example: 
    • sum$<relationship>$<related attribute>
    • sum$workpack$acttotalcost
      (Work package cost; aka grand total. Includes tasks and child WOs.)


    Related:
    Formula for total WO cost including tasks



    #Maximo
    #AssetandFacilitiesManagement


  • 4.  RE: Formulas: Complete list of functions and aggregates?

    Posted Sat November 06, 2021 04:37 PM
    Edited by System Admin Wed March 22, 2023 11:51 AM

    Here's some info from an IBM support case (TS006815656):


    In Database Configuration --> Formula Functions action/window:

    Some of the formula function descriptions are missing. We need to have descriptions so that we know what the formulas do and how they work.
    -SUBYMD
    -ADDYMD
    -MSINCE
    -SUBSTRING
    -NUMBER
    -ISERROR
    -THROW
    -CONTAINS

    Screenshot: https://i.stack.imgur.com/DxQoC.png

    Could IBM please correct the missing formula function descriptions in the EXPFUNCTIONS table?



    From IBM Support:

    TS006815656  - APAR IJ35297 - 7612 - Formula functions are missing descriptions

    The developer [Anamitra] sent this along in regards to the missing descriptions that will be fixed by APAR IJ35297 in 7613.


    -SUBYMD - subtract year (param 2), month (param 3) and day (param 4) from param 1 which is a datetime field. sumymd(statusdate,1,5,6) //substract 1 year, 5months, 6 days from statusdate

    -ADDYMD - add year (param 2), month (param 3) and day (param 4) to param 1 which is a datetime field. addymd(statusdate,1,5,6) //add 1 year, 5months, 6 days to statusdate

    -MSINCE - Months since a given datetime, specified in the function input param 1. msince(statusdate) will respond back with a value 6 if that status date is 6 months old.

    -SUBSTRING - This is classic substring function that processes a segment of a string value. It takes in 3 parameters with the 3rd one being optional. substring(assettype,3,5) with take 3rd, 4th character to make a string from the value of assettype. This is not a pure mathmetical function and is used for the MBR language. We do not expect this to be used in the mathematical formula use cases.

    -NUMBER - this converts a ALN value to a numeric value by doing JAVA string to BigDecimal conversion. number(lastreading)

    -ISERROR - This function is currently not used anywhere - and may get removed in future. Please do not use this function.

    -THROW - these are MBR constructs to throw and mxexception - not to be used for mathematical use cases.

    -CONTAINS - Evaluates if a string contains another string expression. This is again an MBR use case and not meant for mathematical expression evaluations.





    #Maximo
    #AssetandFacilitiesManagement


  • 5.  RE: Formulas: Complete list of functions and aggregates?

    Posted Wed December 08, 2021 05:36 PM
    For what it's worth, here's a list of expression-related classes that indicates if a class is NEW, MODIFIED, or UNCHANGED in MAM 7.6.1.2:

    (It's my uneducated guess that these expression classes are used by attribute formulas and by MBR.)

    Credit goes to Diego for figuring out how to compare the list of Java methods between Maximo versions to find new ones.


    NEW com.ibm.tivoli.maximo.expression.AddMbo
    UNCHANGED com.ibm.tivoli.maximo.expression.AddYMD
    UNCHANGED com.ibm.tivoli.maximo.expression.app.AttrFormula
    UNCHANGED com.ibm.tivoli.maximo.expression.app.AttrFormulaCondition
    UNCHANGED com.ibm.tivoli.maximo.expression.app.AttrFormulaConditionSet
    UNCHANGED com.ibm.tivoli.maximo.expression.app.AttrFormulaSet
    UNCHANGED com.ibm.tivoli.maximo.expression.app.ExpCondition
    UNCHANGED com.ibm.tivoli.maximo.expression.app.ExpConditionSet
    UNCHANGED com.ibm.tivoli.maximo.expression.app.ExpException
    UNCHANGED com.ibm.tivoli.maximo.expression.app.ExpExceptionSet
    UNCHANGED com.ibm.tivoli.maximo.expression.app.ExpFunction
    UNCHANGED com.ibm.tivoli.maximo.expression.app.ExpFunctionsSet
    MODIFIED com.ibm.tivoli.maximo.expression.app.ExpGroup
    UNCHANGED com.ibm.tivoli.maximo.expression.app.ExpGroupSet
    UNCHANGED com.ibm.tivoli.maximo.expression.app.FldAttributeName
    UNCHANGED com.ibm.tivoli.maximo.expression.app.FldConditionName
    UNCHANGED com.ibm.tivoli.maximo.expression.app.FldObjectName
    UNCHANGED com.ibm.tivoli.maximo.expression.app.ObjectFormula
    UNCHANGED com.ibm.tivoli.maximo.expression.app.ObjectFormulaCondition
    UNCHANGED com.ibm.tivoli.maximo.expression.app.ObjectFormulaConditionSet
    UNCHANGED com.ibm.tivoli.maximo.expression.app.ObjectFormulaSet
    UNCHANGED com.ibm.tivoli.maximo.expression.AttrFormulaCache
    UNCHANGED com.ibm.tivoli.maximo.expression.AttrFormulaCacheImpl
    UNCHANGED com.ibm.tivoli.maximo.expression.AttrFormulaCondInfo
    UNCHANGED com.ibm.tivoli.maximo.expression.AttrFormulaInfo
    UNCHANGED com.ibm.tivoli.maximo.expression.AVG
    MODIFIED com.ibm.tivoli.maximo.expression.AVGF
    NEW com.ibm.tivoli.maximo.expression.Break
    NEW com.ibm.tivoli.maximo.expression.BreakExpressionException
    NEW com.ibm.tivoli.maximo.expression.CompiledMBR
    NEW com.ibm.tivoli.maximo.expression.Concat
    NEW com.ibm.tivoli.maximo.expression.Contains
    NEW com.ibm.tivoli.maximo.expression.Continue
    NEW com.ibm.tivoli.maximo.expression.ContinueExpressionException
    UNCHANGED com.ibm.tivoli.maximo.expression.COUNT
    MODIFIED com.ibm.tivoli.maximo.expression.COUNTF
    UNCHANGED com.ibm.tivoli.maximo.expression.DATE
    UNCHANGED com.ibm.tivoli.maximo.expression.DATETIME
    NEW com.ibm.tivoli.maximo.expression.DeleteAll
    NEW com.ibm.tivoli.maximo.expression.DeleteAllFromThisMbo
    NEW com.ibm.tivoli.maximo.expression.DeleteThisMbo
    UNCHANGED com.ibm.tivoli.maximo.expression.DURATION
    NEW com.ibm.tivoli.maximo.expression.EndsWith
    NEW com.ibm.tivoli.maximo.expression.ERROR
    UNCHANGED com.ibm.tivoli.maximo.expression.EVALCOND
    UNCHANGED com.ibm.tivoli.maximo.expression.EVALEXP
    NEW com.ibm.tivoli.maximo.expression.Exists
    UNCHANGED com.ibm.tivoli.maximo.expression.ExpAction
    UNCHANGED com.ibm.tivoli.maximo.expression.ExpFunctionCache
    UNCHANGED com.ibm.tivoli.maximo.expression.ExpFunctionCacheImpl
    NEW com.ibm.tivoli.maximo.expression.EXPN
    MODIFIED com.ibm.tivoli.maximo.expression.Expression
    UNCHANGED com.ibm.tivoli.maximo.expression.Expression$Operator
    MODIFIED com.ibm.tivoli.maximo.expression.ExpressionContext
    MODIFIED com.ibm.tivoli.maximo.expression.ExpressionException
    NEW com.ibm.tivoli.maximo.expression.ForEachMbo
    NEW com.ibm.tivoli.maximo.expression.ForEachToken
    UNCHANGED com.ibm.tivoli.maximo.expression.FormulaDriverMboEventListener
    UNCHANGED com.ibm.tivoli.maximo.expression.FormulaDriverMboValueAdapter
    UNCHANGED com.ibm.tivoli.maximo.expression.FormulaListenerManager
    UNCHANGED com.ibm.tivoli.maximo.expression.FormulaMboEventListener
    UNCHANGED com.ibm.tivoli.maximo.expression.FormulaMboValueAdapter
    UNCHANGED com.ibm.tivoli.maximo.expression.FormulaTargetInfo
    MODIFIED com.ibm.tivoli.maximo.expression.FormulaUtils
    MODIFIED com.ibm.tivoli.maximo.expression.Function
    UNCHANGED com.ibm.tivoli.maximo.expression.FunctionInfo
    NEW com.ibm.tivoli.maximo.expression.GetVar
    NEW com.ibm.tivoli.maximo.expression.InvokeScript
    NEW com.ibm.tivoli.maximo.expression.InvokeWorkflow
    NEW com.ibm.tivoli.maximo.expression.ISERROR
    NEW com.ibm.tivoli.maximo.expression.IsModified
    NEW com.ibm.tivoli.maximo.expression.ISNOTNULLF
    UNCHANGED com.ibm.tivoli.maximo.expression.ISNULLF
    NEW com.ibm.tivoli.maximo.expression.IsReadOnly
    NEW com.ibm.tivoli.maximo.expression.IsRquired
    NEW com.ibm.tivoli.maximo.expression.IsYncCancel
    NEW com.ibm.tivoli.maximo.expression.IsYncDflt
    NEW com.ibm.tivoli.maximo.expression.IsYncNo
    NEW com.ibm.tivoli.maximo.expression.IsYncOk
    NEW com.ibm.tivoli.maximo.expression.IsYncYes
    UNCHANGED com.ibm.tivoli.maximo.expression.LazyFunction
    MODIFIED (*) com.ibm.tivoli.maximo.expression.LazyNumber
    NEW com.ibm.tivoli.maximo.expression.LoopIndex
    UNCHANGED com.ibm.tivoli.maximo.expression.MAX
    NEW com.ibm.tivoli.maximo.expression.MaxCond
    MODIFIED com.ibm.tivoli.maximo.expression.MAXF
    NEW com.ibm.tivoli.maximo.expression.MaxProp
    NEW com.ibm.tivoli.maximo.expression.MBRScriptDriver
    UNCHANGED com.ibm.tivoli.maximo.expression.MeterAvgValue
    UNCHANGED com.ibm.tivoli.maximo.expression.MeterExceedCount
    UNCHANGED com.ibm.tivoli.maximo.expression.MeterLowerAction
    UNCHANGED com.ibm.tivoli.maximo.expression.MeterLowerWarning
    UNCHANGED com.ibm.tivoli.maximo.expression.MeterMaxValue
    UNCHANGED com.ibm.tivoli.maximo.expression.MeterMinValue
    UNCHANGED com.ibm.tivoli.maximo.expression.MeterThresholdCount
    UNCHANGED com.ibm.tivoli.maximo.expression.MeterUpperAction
    UNCHANGED com.ibm.tivoli.maximo.expression.MeterUpperWarning
    UNCHANGED com.ibm.tivoli.maximo.expression.MeterValue
    UNCHANGED com.ibm.tivoli.maximo.expression.MIN
    MODIFIED com.ibm.tivoli.maximo.expression.MINF
    UNCHANGED com.ibm.tivoli.maximo.expression.MonthsSince
    UNCHANGED com.ibm.tivoli.maximo.expression.NOW
    NEW com.ibm.tivoli.maximo.expression.NullVal
    UNCHANGED com.ibm.tivoli.maximo.expression.Number
    UNCHANGED com.ibm.tivoli.maximo.expression.ObjectFormulaCache
    UNCHANGED com.ibm.tivoli.maximo.expression.ObjectFormulaCacheImpl
    UNCHANGED com.ibm.tivoli.maximo.expression.ObjectFormulaInfo
    UNCHANGED com.ibm.tivoli.maximo.expression.ScriptFunction
    NEW com.ibm.tivoli.maximo.expression.ScriptVar
    NEW com.ibm.tivoli.maximo.expression.SetEvalResult
    NEW com.ibm.tivoli.maximo.expression.SetHidden
    NEW com.ibm.tivoli.maximo.expression.SetQbe
    NEW com.ibm.tivoli.maximo.expression.SetReadOnly
    NEW com.ibm.tivoli.maximo.expression.SetRequired
    NEW com.ibm.tivoli.maximo.expression.SetThisAttrValue
    NEW com.ibm.tivoli.maximo.expression.SetValue
    NEW com.ibm.tivoli.maximo.expression.SetValueNull
    NEW com.ibm.tivoli.maximo.expression.SetValueNullToMbo
    NEW com.ibm.tivoli.maximo.expression.SetValueToMbo
    NEW com.ibm.tivoli.maximo.expression.SetVar
    NEW com.ibm.tivoli.maximo.expression.SetWarning
    NEW com.ibm.tivoli.maximo.expression.SetWhere
    UNCHANGED com.ibm.tivoli.maximo.expression.SpecAttrValue
    NEW com.ibm.tivoli.maximo.expression.Split
    NEW com.ibm.tivoli.maximo.expression.StartsWith
    NEW com.ibm.tivoli.maximo.expression.Str
    UNCHANGED com.ibm.tivoli.maximo.expression.Substring
    UNCHANGED com.ibm.tivoli.maximo.expression.SubYMD
    UNCHANGED com.ibm.tivoli.maximo.expression.SUM
    MODIFIED com.ibm.tivoli.maximo.expression.SUMF
    NEW com.ibm.tivoli.maximo.expression.THROW
    UNCHANGED com.ibm.tivoli.maximo.expression.TIME
    NEW com.ibm.tivoli.maximo.expression.ToBeAdded
    NEW com.ibm.tivoli.maximo.expression.ToBeDeleted
    NEW com.ibm.tivoli.maximo.expression.ToBeSaved
    NEW com.ibm.tivoli.maximo.expression.TokenAt
    NEW com.ibm.tivoli.maximo.expression.ToLower
    NEW com.ibm.tivoli.maximo.expression.ToUpper
    UNCHANGED com.ibm.tivoli.maximo.expression.TREND
    UNCHANGED com.ibm.tivoli.maximo.expression.WeatherCurrentVal
    UNCHANGED com.ibm.tivoli.maximo.expression.WeatherHistAvg
    UNCHANGED com.ibm.tivoli.maximo.expression.WeatherHistMax
    UNCHANGED com.ibm.tivoli.maximo.expression.WeatherHistMin
    UNCHANGED com.ibm.tivoli.maximo.expression.WeatherHistThreshold
    NEW com.ibm.tivoli.maximo.expression.YncError
    NEW com.ibm.tivoli.maximo.expression.YncUserInput