[ |../../index.htm#lansa/continue_e.htm]
現在地:
7.18.3 CONTINUE の使用例
BEGIN_LOOP ループ内で CONTINUE を使用する
SELECT 内で CONTINUE を使用する
BEGIN_LOOP ループ内で CONTINUE を使用する
この例は、BEGIN_LOOP ループ内で CONTINUE コマンドを使用する方法を示しています。
DEF_LIST NAME(#EMPBROSWE) FIELDS(#EMPNO #SURNAME #GIVENAME #DEPTMENT) BEGIN_LOOP REQUEST FIELDS(#EMPNO) BROWSELIST(#EMPBROSWE) FETCH FIELDS(#EMPNO #SURNAME #GIVENAME #DEPTMENT) FROM_FILE(PSLMST) WITH_KEY(#EMPNO) IF_STATUS IS_NOT(*OKAY) MESSAGE MSGTXT('That employee could not be found!') CONTINUE ENDIF ADD_ENTRY TO_LIST(#EMPBROSWE) END_LOOP
要求された社員番号が見つからない場合、メッセージが発行され、CONTINUE コマンドによってプログラム制御が ADD_ENTRY コマンドにスキップし、REQUEST コマンドでループの先頭に戻ります。
SELECT 内で CONTINUE を使用する
この例は、SELECT ループ内で CONTINUE コマンドを使用する方法を示しています。この例では、追加のユーザー・ファンクション・キーを使用して、選択したレコードを表示したり、必要に応じて削除したりできます。
DEF_COND NAME(*DROPPED) COND('#IO$KEY = ''09''') DEF_LIST NAME(#EMPBROWSE) FIELDS(#SECTION #EMPNO #SURNAME #GIVENAME) DEF_LIST NAME(#EMPSELECT) FIELDS(#SECTION #EMPNO #SURNAME #GIVENAME) SELECT FIELDS(#EMPBROWSE) FROM_FILE(PSLMST) DISPLAY FIELDS(#SECTION #EMPNO #SURNAME #GIVENAME) BROWSELIST(#EMPBROWSE) USER_KEYS((09 'Drop')) CONTINUE IF(*DROPPED) ADD_ENTRY TO_LIST(#EMPBROWSE) ADD_ENTRY TO_LIST(#EMPSELECT) ENDSELECT DISPLAY BROWSELIST(#EMPSELECT)
[ |../../index.htm#lansa/continue_e.htm]