...
Written by: |
Input Input Generation mode was previously call called Syntax Check mode.
Our formulas Logics are used to calculate the results but at the same time also serve as configuration mechanism to drive certain UI elements, such as necessary input parameters.
Logics That Trigger Input Generation Mode
- Dashboards
- Price Grid Line Item
- Price list Line Item
- Quotes Line Item
- Calculation Grid Line Item
- Contract Line Item
- Rebate Line Item
- Compensation Line Item
- Claim Line Item
- PA Dataload
- PA Distributed Dataload
Input Generation Mode
To avoid the need to declare input parameters explicitly (they show up as you start using/expecting them in the formula), a mechanism called “input generation mode” is used (sometimes also called "dry run").
...
The following example shows how the api.isSyntaxtCheckisInputGeneration()
API call is used to determine which code does not need to be run in the parameter determination mode and should be called only in the real computation (like expensive DB calls).
Code Block |
---|
def inputVal = api.userEntry() if (api.isSyntaxCheckisInputGeneration()) return; def costs = api.find("PX", equal("name", "costs")) |
Note:
apiout.getElement()X
will return always a BigDecimal number, regardless of its value returned during regular execution of the logic.Also some other functions will return "null" instead of proper values.
api.stream
andDatamartContext.streamQuery()
are not supported in input generation, butapi.find
is.
...