DO  
                           					 statement
                           					 DOEND 
                         |  
                        				
                     
This document covers the following topics:
For explanations of the symbols used in the syntax diagram, see Syntax Symbols.
Belongs to Function Group: Reporting Mode Statements
The DO and DOEND statements are used in
                  			 reporting mode to specify a group of statements to be executed based on a
                  			 logical condition as specified in any of the statements listed below.
               
Note:
If you specify a only single statement to be executed based on a
                     			 logical condition, you can omit the DO and DOEND
                     			 statements. But with respect to good coding practice, you are not recommended
                     			 to do so.
                  
The DO and DOEND statements are only
                        				  valid in reporting mode.
                     
 WRITE
                              				  TITLE, WRITE
                              				  TRAILER, and the AT condition statements
                        				  AT BREAK,
                        				  AT END OF DATA,
                        				  AT END OF PAGE,
                        				  AT START OF DATA,
                        				  AT TOP OF PAGE are not
                        				  permitted within a DO/DOEND statement
                        				  group.
                     
A loop-initiating statement may be used within a
                        				  DO/DOEND statement group provided that the loop is
                        				  closed prior to the DOEND statement.
                     
** Example 'DOEEX1': DO/DOEND                                           
************************************************************************
*                                                                       
EMP. FIND EMPLOYEES WITH CITY = 'MILWAUKEE'                             
  VEH. FIND VEHICLES WITH PERSONNEL-ID = PERSONNEL-ID                   
    IF NO RECORDS FOUND DO                                   
      ESCAPE                                                            
    DOEND                                                      
    DISPLAY PERSONNEL-ID (EMP.) NAME (EMP.)                             
            SALARY (EMP.,1)                                             
            MAKE (VEH.) MAINT-COST (VEH.,1)                             
    AT END OF DATA DO                                          
      WRITE NOTITLE                                                     
        / 10X 'AVG SALARY:'                                             
               T*SALARY (1) AVER(SALARY (1))                            
        / 10X 'AVG MAINTENANCE (ZERO VALUES EXCLUDED):'                 
               T*MAINT-COST (1) NAVER(MAINT-COST (1))                   
    DOEND                                                       
    /*
  LOOP
LOOP  
END 
               		  
PERSONNEL         NAME           ANNUAL           MAKE         MAINT-COST
   ID                            SALARY                                  
--------- -------------------- ---------- -------------------- ----------
                                                                         
20021100  JONES                     31000 GENERAL MOTORS            140  
20027800  LAWLER                    29000 GENERAL MOTORS              0  
20027800  LAWLER                    29000 TOYOTA                     86  
20030600  NORDYKE                   47000 FORD                      194  
                                                                         
          AVG SALARY:               35666                                
          AVG MAINTENANCE (ZERO VALUES EXCLUDED):                   140