7.6.2 BEGIN_LOOP の使用例

例1:BEGIN_LOOP/END_LOOP コマンドを使用して、ユーザーが [終了] または [メニュー] ファンクション・キーを押すまで、ファイルにレコードを挿入し続けます。

GROUP_BY   NAME(#CUSTOMER) FIELDS(#CUSTNO #NAME #ADDL1 #ADDL2 #ADDL3)
BEGIN_LOOP
REQUEST    FIELDS(#CUSTOMER) EXIT_KEY(*YES *EXIT)  MENU_KEY(*YES *MENU)
INSERT     FIELDS(#CUSTOMER) TO_FILE(CUSMST)  VAL_ERROR(*LASTDIS)
CHANGE     FIELD(#CUSTOMER) TO(*DEFAULT)
END_LOOP
 

例2:BEGIN_LOOP/END_LOOP コマンドを使用して、#LIST という作業リストの項目を 1~10まで参照します。

BEGIN_LOOP USING(#I) FROM(1) TO(10)
GET_ENTRY  NUMBER(#I) FROM_LIST(#LIST)
END_LOOP
 

例3:BEGIN_LOOP/END_LOOP コマンドを使用して、#LIST という作業リストの項目を 10~1 まで (すなわち逆の順序で) 参照します。

BEGIN_LOOP USING(#I) FROM(10) TO(1) STEP(-1)
GET_ENTRY  NUMBER(#I) FROM_LIST(#LIST)
END_LOOP
 

例4:BEGIN_LOOP/END_LOOP コマンドを使用して、#LISTF という作業リストの項目 1~100 のうち、偶数番号の項目を参照します。

BEGIN_LOOP USING(#I) FROM(2) TO(100) STEP(2)
GET_ENTRY  NUMBER(#I) FROM_LIST(#LIST)
END_LOOP
 

例5:BEGIN_LOOP/END_LOOP コマンドを使用して、#LIST という作業リストの項目 1~100 のうち、奇数番号の項目を参照します。

BEGIN_LOOP USING(#I) FROM(1) TO(99) STEP(2)
GET_ENTRY  NUMBER(#I) FROM_LIST(#LIST)
END_LOOP