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