The ON statement allows selective execution of procedural statements on a periodic basis. 
                   
               
            
 
            
            
               General Format
 
               	  
               	 
 
               
              
            
            
               Syntax Rules
 
               	  
                
                  	 
                  - Identifier-1, identifier-2 and identifier-3 must describe unsigned integer numeric elementary items. 
                     	 
                  
  
                  	 
                  - Literal-1, literal-2 and literal-3 must be unsigned numeric literals. 
                     	 
                  
  
                  	 
                  - The ON statement is not supported in class programs when compiling to managed code. 
                     	 
                  
  
               
 
               
              
            
            
                General Rules
 
               	  
                
                  	 
                  - Prior to the first execution of each ON statement , a counter, implicitly defined for that ON statement (the implicit-ON-counter),
                     is initialized to be zero. 
                     	 
                  
  
                  	 
                  - Identifier-1, identifier-2 and identifier-3 should, if specified, contain positive integer values at the time of execution
                     of the ON statement. Varying these values between executions of the ON statement will affect subsequent executions of the
                     ON statements. 
                     	 
                  
  
                  	 
                  - The implicit ON counter cannot be affected in any way other than by transfer of execution flow to that ON statement. (The
                     ON counter of a called program can only be reset by the canceling of that program; execution of the EXIT PROGRAM statement
                     and subsequent CALL of the program without intervening CANCEL has no effect upon the implicit ON counter value.) 
                     	 
                  
  
                  	 
                  - The following value-list is then evaluated: 
                     		
                     
 
                        		  
                        - The current value of identifier-1 or literal-1, 
                           		  
                        
  
                        		  
                        - A sequence of values being the results of repeatedly adding the current value of identifier-2 or literal-2 to the current
                           value of identifier-1 or literal-1 until the value of identifier-3 or literal-3 is reached. 
                           		  
                        
  
                        		
                     
 
                     		
                     The implicit-ON-counter is then compared with each of this list of values. If an equality is found, then imperative-statement-1
                        is executed. If no equality is found, then imperative-statement-2, if specified, is executed.