Runs a Tcl/Tk script in a protected manner according to
    the specified execution mode.
    Syntax
      
      hwISession_handle
        PerformBatchOperation script, exec_mode
    
    Application
      
      HyperWorks Tcl Modify
    
    Inputs
      
      
        
          - script
 
          - PerformBatchOperation runs the specified script in a way that
            ignores user mouse clicks or keyboard input while the script is running. This provides
            operational protection for the caller and is accomplished by running the script within a
            ‘UI lock’.
 
        
        
          - exec_mode (optional)
 
          - By specifying the exec_mode option, you can specify a variety of conditions, or
            ‘execution modes’, under which the specified script is run.
 
          - There are two primary execution modes: execution scope and render lock state.
 
          - Valid execution scope values are currentscope and
              globalscope. They are mutually exclusive.
              
                - currentscope
 
                - Runs the script at the current scope. Specifically, the script runs at one level
                  below the current Tcl callstack level.
 
              
              
                - globalscope
 
                - Runs the script at the global Tcl scope and is the
                  default. Specifically, the script runs at Tcl
                  callstack level 0.
 
              
            
 
          - The execution scope dimension is important if Tcl
            uplevel or upvar commands are used in the implementation of the script to be run.  In
            these cases, currentscope must be specified.
 
          - Valid render lock states are renderlocked and renderunlocked. They are mutually exclusive.
              
                - renderlock
 
                - Runs the script inside a render lock and is the default.
 
              
              
                - renderunlock
 
                - Runs the script only inside a UI lock.
 
              
            
 
          - The render lock state is primarily used to control flicker as a render lock ALWAYS
            forces a redraw of each visible page area at the end of script execution.
 
          - The values from the two dimensions can be specified in any order and with any
            delimiter (space or comma, for example).  If a mode is not specified, the default value
            will be assumed.
 
        
      
    
    Examples
      
      To run the 
Tcl/Tk script myScript at the current 
Tcl call stack scope within a Render
        Lock:
[::hw::GetSessionHandle] PerformBatchOperation myScript "currentscope renderlock" – 
 
      To run myScript at the current scope and with no render
        lock:
[::hw::GetSessionHandle] PerformBatchOperation myScript "current scope, renderunlock"
 
      To run myScript at the global 
Tcl scope under a Render Lock.
          "
globalscope” and “
renderlock” are the default execution
        modes.
[::hw::GetSessionHandle] PerformBatchOperation myScript
 
    
     Error
      
      HWInvalidArg - Specifying invalid modal combinations such as
          "currentscope
        globalscope" results in this error.
    
    Keywords
      
      Tcl
      Tk
      script
      commands