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