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