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)