DOおよびDOENDコマンドは、OLAP DMLプログラム内で、プログラムの1つ以上の文のグループをひとまとめにするコマンドです。DOおよびDOENDは、通常、次のいずれかをまとめるときに使用します。
IFコマンドで指定した条件下で実行する一連の文
FORまたはWHILEによって導入された繰返しループ内の一連の文
SWITCHコマンドのCASEラベル
DO文は他のDO文の内側に置いて文のグループをネストできます。文グループの終了を示すためのDOENDが、それぞれのDO文に対応して存在するかぎり、必要な数のグループをネストできます。
構文
DO
statement1
...
statementN
DOEND
引数
1つ以上のOLAP DML文またはユーザー定義プログラム、あるいはその両方。
注意
TEMPSTAT文とDOEND文
プログラムのFORループ処理内部で、DO/DOEND句がTEMPSTATの後に続く場合、DOEND、BREAK、GOTOのいずれかが検出されると、ステータスはリストアされます。
例
例9-110 DOおよびDOENDとFOR文との組合せ
ROWコマンドを使用して、テントの売上数量を2か月ごとに示すレポートを生成するとします。monthディメンションの値ごとに繰り返し実行するROW文およびBLANK文をひとまとめにするには、DO ... DOENDを使用します。次のようなプログラムを作成できます。
LIMIT month TO 'Jan96' to 'Feb96'
ROW district
ROW UNDER '-' VALONLY name.product
FOR month
DO
ROW INDENT 5 month WIDTH 6 UNITS
BLANK
DOEND
このプログラムによって生成される出力は、次のとおりです。
BOSTON
3-Person Tents
--------------
Jan96 307
Feb96 209