/
Global Variables in Second Pass

Global Variables in Second Pass

Content of api.global survives between executions of both 1st and 2nd pass (i.e. dirty pass). But given that the second pass is a whole new JST, the global variables are persisted between the 2 passes, where the persistence is done in JSON.

So if you have a complex object (such as a 'Filter') and you store it in a global variable, the following applies:

  • Such variable can be retrieved from the global cache as a 'Filter' object only as long as you are in the first pass.

  • During the second pass, if you retrieve it, you will get the JSON representation of this object. Accessing the key of a map stored as a global variable in the second pass is done using the syntax:

    api.global.variable.map[(key)]

 

Global variables are very useful to persist information:

  • Between elements within execution of a logic.

  • Between executions of a logic for a set of items (i.e. PG, PL, ...) if api.retainGlobal = true is called.

This 'retainGlobal' also works for making use of global variables during executions of both 1st and 2nd pass (i.e. dirty pass).

Related content

Is there a limit on api.global data being passed?
Is there a limit on api.global data being passed?
More like this
How can I refer to results from the first pass without using api.global?
How can I refer to results from the first pass without using api.global?
More like this
Multi-pass Calculation of a Price List or Live Price Grid
Multi-pass Calculation of a Price List or Live Price Grid
Read with this

Found an issue in documentation? Write to us.