Each time a RAMP script is executed,  the Framework checks if the script has been called recursively and flags an error if it has.
However, situations may arise where a script may appear to be called recursively, for example if a special screen appears two or more times in succession. In these cases the GLOBAL_flagRecursionCheck property can be used to switch off the recursion checking and avoid applications ending in error.
The property can be used in scripts in this way:
   
var flagSaveCheckState = GLOBAL_flagRecursionCheck;
 
GLOBAL_flagRecursionCheck = false;
 
SENDKEY(KeyEnter);
 
GLOBAL_flagRecursionCheck  = flagSaveCheckState;
  
Saving and restoring the state like this, rather than simply setting the global property to TRUE or FALSE is the best solution because this is a recursive situation. The Framework will handle three or four levels of recursion (depending on script size and system resources available) if a special screen appears this many times. Only the top recursion level will finally set the GLOBAL_flagRecursionCheck property back to TRUE again.