$FLEX$ and $PROFILES$ are Special Variables in oracle Apps environment and are used to hold values at runtime. Whenever we are working with value sets, we will be using both of these for modifying the data fetched, for basing the values of a parameter on the other parameter and also fetching the Profile Option values.
To segregate this based on the functionality
$FLEX$: Used for basing the value of a parameter on another parameter.
$PROFILES$: used for fetching the data stored in the specified profile option value which is currently active.
Where is it used?Both these variables are used in the Parameter form of a Concurrent Program and are used at 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.
:$PROFILES$.Profile_option_name
Important:
* $PROFILES$ must be always in capitals.
* ':' must always precede the declaration.
* Profile option name is the Profile Name and not to be confused with the User profile Name.