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
defined asPaste code macro language groovy title Code of element 'Params' PARAM_PE = "PE"
PARAM_MARGIN = "Margin"
- etc.
Further down in the logic,
paramsin another element, those constants are looked up in something
like
...getParameter(like
)Paste code macro language groovy title Referencing 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 language groovy title Definition 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 language groovy title Referencing Groovy Library constants from another elements libs.PO.Params.PARAM_PE
...
Page Properties | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
|
...