DO statement DOEND |
このドキュメントでは、次のトピックについて説明します。
構文図で使用されている記号については、「構文記号」を参照してください。
関連機能グループ:レポーティングモードのステートメント
DO および DOEND ステートメントは、下記のステートメントで指定される論理条件に基づいて実行されるステートメント群を指定するためにレポーティングモードで使用します。
注意:
論理条件に基づいて実行するステートメントを 1 つだけ指定した場合は、DO ステートメントと DOEND ステートメントを省略できます。通常のコーディング方法に従い、推奨しません。
DO および DOEND ステートメントはレポーティングモードでのみ有効です。
WRITE
TITLE、WRITE
TRAILER、および AT 条件ステートメント AT BREAK、AT END OF DATA、AT END OF PAGE、AT START OF DATA、AT TOP OF PAGE は、DO/DOEND ステートメント群の中では指定できません。
そのループが DOEND ステートメントの前に終了する場合、ループ開始ステートメントを DO/DOEND 内のステートメント群で使用できます。
** 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