Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Between elements of the same logic

In one and the same logic, say a pricing logic, I can refer to a constant (e.g. parameter name) in previous elements like this:

  • Assume there is an element Params defined as 

    Paste code macro
    languagegroovy
    titleCode of element 'Params'
    defined as
    PARAM_PE = "PE"
    
    PARAM_MARGIN = "Margin"
  • etc.

  • Further down in the logic,

    params

    in another element, those constants are looked up in something

    like
    ...getParameter(

    like 

    Paste code macro
    languagegroovy
    titleReferencing constants from another elements
    api.vLookup( Params.PARAM_PE
    )
    , ...)


This works since the static strings defined in the Params element are accessible from subsequent elements in the same logic.

Between elements of different logics

However, if element Params was defined in a Groovy library – not an unusual use case if the parameter names are to be shared across multiple logics – then the above scheme no longer works.

There is, however a way to make it work.  Say you define a Groovy library named 'PO'.  Within that library you define a Params element, but this time

  • you define the static parameter names as: 

    Paste code macro
    languagegroovy
    titleDefinition of constants in Groovy Library code
    @Field PARAM_PE = "PE"

...

  • 
    @Field PARAM_MARGIN = "Margin"

...


  • Then you can refer to those parameter names in ordinary logics

...

  • with 

    Paste code macro
    languagegroovy
    titleReferencing Groovy Library constants from another elements
    libs.PO.Params.PARAM_PE

...



Page Properties
hiddentrue


Author

Contributors
limit1
showLastTimetrue
reversetrue
orderupdate


...