Usage of :$FLEX$ in oracle apps


$FLEX$ is a Special Variables in oracle Apps environment and is used in Value sets to hold values at runtime. It is Used for basing the value of a parameter and generate a LOV on another parameter. This variable is used in the Parameter form of a Concurrent Program and its defined in the Where Clause window in the value set of Table type.


Syntax:
:$FLEX$.previous_value_set_name
Important:
  • $FLEX$ must always be in capitals.
  • A ‘:’ must precede the declaration of $FLEX$.
  • The previous value set name must have already been assigned and saved on a different parameter.
This is explained with an example:
    1.    Create a concurrent program with 2 parameters. Namely “Run_type” and “Run_value”

    2.    The 2 parameters have 2 different value sets.
a.    Value set of Run_type parameter is independent value set


b.    Value set of Run_value parameter is table value set

    3.    Now you can see at run time, the LOV generated in Run_value parameter is dependent on Run_type.




     Say we have 3 Params in a concurrent program
     Param1 – valueset: run_type
     Param2 – valueset: run_type
     Param3 – valueset: run_value
    Now Param1 and Param2 has the same valueset. And Param3’s valueset is calculated based on Run_type
    Which Param value will be used in calculating the valueset of Param3? The answer is Param2. Even though param1 and param2 has the same valueset, $FLEX$ uses the value in the valueset which is just before it ie., param2
   See the example: