LIMIT
                           					 n       
                           					 
                         |  
                        				
                     
This document covers the following topics:
Related Statements: ACCEPT/REJECT |
                  		  AT BREAK |
                  		  AT START OF DATA |
                  		  AT END OF DATA |
                  		  BACKOUT TRANSACTION |
                  		  BEFORE BREAK PROCESSING |
                  		  DELETE |
                  		  END TRANSACTION |
                  		  FIND |
                  		  GET |
                  		  GET SAME |
                  		  GET TRANSACTION |
                  		  HISTOGRAM |
                  		  PASSW | PERFORM BREAK
                        		  PROCESSING | READ | RETRY | STORE | UPDATE
Belongs to Function Group: Database Access and Update
The LIMIT statement is used to limit the number of
                  			 iterations of a processing loop initiated with a FIND, READ, or HISTOGRAM statement.
               
The limit remains in effect for all subsequent processing loops in
                  			 the program until it is overridden by another LIMIT statement.
               
The LIMIT statement does not apply to individual
                  			 statements in which a limit is explicitly specified (for example,
                  			 FIND (n)
                        			 ...).
               
If the limit is reached, processing stops and a message is
                  			 displayed; see also the session parameter LE which determines the
                  			 reaction when the limit for the processing loop is exceeded.
               
If no LIMIT statement is specified, the default global
                  			 limit defined with the Natural profile parameter
                  			 LT during
                  			 Natural installation will be used.
               
To determine whether a processing loop has reached the limit, each record read in the loop is counted against the limit. If the processing loop has reached the limit, the following will apply:
A record that is rejected because of criteria specified in a
                        					 FIND or
                        					 READ statement
                        					 WHERE clause is
                        					 not counted against the limit.
                     
A record that is rejected as a result of an
                        					 ACCEPT/REJECT
                        					 statement is counted against the limit.
                     
** Example 'LMTEX1': LIMIT                                              
************************************************************************
DEFINE DATA LOCAL                                                       
1 EMPLOY-VIEW VIEW OF EMPLOYEES                                         
  2 PERSONNEL-ID                                                        
  2 NAME                                                                
  2 CITY                                                                
END-DEFINE                                                              
*                                                                       
LIMIT 4                                                           
*                                                                       
READ EMPLOY-VIEW BY NAME STARTING FROM 'BAKER'                          
  DISPLAY NOTITLE                                                       
          NAME PERSONNEL-ID CITY *COUNTER                               
END-READ                                                                
*                                                                       
END 
               			         NAME         PERSONNEL         CITY            CNT     
                        ID                                     
-------------------- --------- -------------------- -----------
                                                               
BAKER                20016700  OAK BROOK                      1
BAKER                30008042  DERBY                          2
BALBIN               60000110  BARCELONA                      3
BALL                 30021845  DERBY                          4 
               		   
               		  
               ** Example 'LMTEX2': LIMIT (valid for two database loops)               
************************************************************************
DEFINE DATA LOCAL                                                       
1 EMPLOY-VIEW VIEW OF EMPLOYEES                                         
  2 NAME                                                                
END-DEFINE                                                              
*                                                                       
LIMIT 3                                                          
*                                                                       
FIND EMPLOY-VIEW WITH NAME > 'A'                                        
  READ EMPLOY-VIEW BY NAME STARTING FROM 'BAKER'                        
    DISPLAY NOTITLE 'CNT(0100)' *COUNTER(0100)                          
                    'CNT(0110)' *COUNTER(0110)                          
  END-READ                                                              
END-FIND                                                                
*                                                                       
END 
               			  CNT(0100)   CNT(0110) 
----------- -----------
                       
          1           1
          1           2
          1           3
          2           1
          2           2
          2           3
          3           1
          3           2
          3           3