DO
statement
DOEND
|
Dieses Dokument behandelt folgende Themen:
Eine Erläuterung der in dem Syntax-Diagramm verwendeten Symbole entnehmen Sie dem Abschnitt Syntax-Symbole.
Gehört zur Funktionsgruppe: Reporting Mode-Statements
Die Statements DO
und DOEND
werden im
Reporting Mode verwendet, wenn mehrere Statements in Abhängigkeit von einer
logischen Bedingung ausgeführt werden sollen.
Anmerkung:
Wenn Sie nur ein einziges Statement angeben, das in Abhängigkeit
von einer logischen Bedingung ausgeführt werden soll, können Sie die Statements
DO
und DOEND
weglassen. Das ist jedoch nicht im Sinne
einer guten Kodierpraxis und wird nicht empfohlen.
Die Statements DO
und DOEND
gelten nur
im Reporting Mode.
WRITE
TITLE
, WRITE
TRAILER
, und die Bedingungs-Statements, die mit
AT
beginnen (AT
BREAK
, AT END OF
DATA
, AT END OF
PAGE
, AT START OF
DATA
, AT TOP OF
PAGE
) dürfen innerhalb einer
DO
/DOEND
-Konstruktion nicht verwendet werden..
Wenn Sie innerhalb einer
DO
/DOEND
-Konstruktion eine Verarbeitungsschleife
initiieren, müssen Sie sie vor dem DOEND
-Statement wieder
schließen.
** 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
Ausgabe des Programms DOEEX1
:
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