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